aboutsummaryrefslogtreecommitdiff
path: root/support/temp_file.c
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2020-10-15 15:14:22 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2020-10-16 14:19:23 -0300
commit60854f40ea2d420867ed2f0f052ee7fca661dbff (patch)
tree1f2eccb437ef71f098f1f817ef0cc82bdb7f8113 /support/temp_file.c
parent30d2e4a963db0b3fdb1aa2cf2e2942c7a62d6649 (diff)
downloadglibc-60854f40ea2d420867ed2f0f052ee7fca661dbff.zip
glibc-60854f40ea2d420867ed2f0f052ee7fca661dbff.tar.gz
glibc-60854f40ea2d420867ed2f0f052ee7fca661dbff.tar.bz2
support: Add create_temp_file_in_dir
It allows created a temporary file in a specified directory.
Diffstat (limited to 'support/temp_file.c')
-rw-r--r--support/temp_file.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/support/temp_file.c b/support/temp_file.c
index 277c5e0..98bd235 100644
--- a/support/temp_file.c
+++ b/support/temp_file.c
@@ -60,14 +60,12 @@ add_temp_file (const char *name)
}
int
-create_temp_file (const char *base, char **filename)
+create_temp_file_in_dir (const char *base, const char *dir, char **filename)
{
char *fname;
int fd;
- fname = (char *) xmalloc (strlen (test_dir) + 1 + strlen (base)
- + sizeof ("XXXXXX"));
- strcpy (stpcpy (stpcpy (stpcpy (fname, test_dir), "/"), base), "XXXXXX");
+ fname = xasprintf ("%s/%sXXXXXX", dir, base);
fd = mkstemp (fname);
if (fd == -1)
@@ -86,6 +84,12 @@ create_temp_file (const char *base, char **filename)
return fd;
}
+int
+create_temp_file (const char *base, char **filename)
+{
+ return create_temp_file_in_dir (base, test_dir, filename);
+}
+
char *
support_create_temp_directory (const char *base)
{