[git commit] tests: add fallback for mktemp()

Mike Frysinger vapier at gentoo.org
Sat Oct 1 19:39:46 UTC 2011


commit: http://git.uclibc.org/uClibc/commit/?id=8744dc172388922e873ebcb019dd478849a1ee98
branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/master

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 <vapier at gentoo.org>
---
 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 7521584..0be4aa1 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)


More information about the uClibc-cvs mailing list