1 #include <errno.h>
2 #include <stdio.h>
3 #include <stdlib.h>
4 #include <string.h>
5 #include <unistd.h>
6 #include <sys/stat.h>
7 
8 #ifndef EXECVP
9 # define EXECVP(file, argv)  execvp (file, argv)
10 #endif
11 
12 static int
do_test(void)13 do_test (void)
14 {
15   char buf[40] = "/usr/bin/does-not-exist";
16   size_t stemlen = strlen (buf);
17   struct stat64 st;
18   int cnt = 0;
19   while (stat64 (buf, &st) != -1 || errno != ENOENT
20 	 || stat64 (buf + 4, &st) != -1 || errno != ENOENT)
21     {
22       if (cnt++ == 100)
23 	{
24 	  puts ("cannot find a unique file name");
25 	  return 0;
26 	}
27 
28       strcpy (buf + stemlen, ".XXXXXX");
29       mktemp (buf);
30     }
31 
32   unsetenv ("PATH");
33   char *argv[] = { buf + 9, NULL };
34   EXECVP (argv[0], argv);
35   return 0;
36 }
37 
38 #define TEST_FUNCTION do_test ()
39 #include "../test-skeleton.c"
40