diff options
-rw-r--r-- | test/test-skeleton.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/test-skeleton.c b/test/test-skeleton.c index 752158405..0be4aa10b 100644 --- a/test/test-skeleton.c +++ b/test/test-skeleton.c @@ -87,6 +87,28 @@ add_temp_file (const char *name) } } +#if defined __UCLIBC__ && !defined __UCLIBC_SUSV3_LEGACY__ +/* mktemp() isn't available, so fake it with tempnam(). + We make a lot of assumptions about the format of the + "template" name, but we aren't testing that, so eh. */ +__attribute__ ((unused)) +static char *mktemp(char *template) +{ + char *dir, *pfx, *s; + + dir = strdup (template); + pfx = strrchr (dir, '/'); + *pfx++ = '\0'; + s = strstr (pfx, "XXXXXX"); + *s = '\0'; + + s = tempnam (dir, pfx); + strcpy (template, s); + free (s); + return template; +} +#endif + /* Delete all temporary files. */ static void delete_temp_files (void) |