From 8744dc172388922e873ebcb019dd478849a1ee98 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sat, 1 Oct 2011 15:39:46 -0400 Subject: tests: add fallback for mktemp() If SuSv3 legacy support is disabled, then mktemp() isn't available, and we end up getting a lot of build errors. So add a fallback built on top of tempnam() since that currently cannot be disabled. Signed-off-by: Mike Frysinger --- test/test-skeleton.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'test/test-skeleton.c') 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) -- cgit v1.2.3