| #include <errno.h> |
| #include <stdio.h> |
| #include <stdlib.h> |
| #include <string.h> |
| #include <unistd.h> |
| #include <sys/stat.h> |
| |
| static int |
| do_test (void) |
| { |
| char buf[40] = "/usr/bin/does-not-exist"; |
| size_t stemlen = strlen (buf); |
| struct stat64 st; |
| int cnt = 0; |
| while (stat64 (buf, &st) != -1 || errno != ENOENT |
| || stat64 (buf + 4, &st) != -1 || errno != ENOENT) |
| { |
| if (cnt++ == 100) |
| { |
| puts ("cannot find a unique file name"); |
| return 0; |
| } |
| |
| strcpy (buf + stemlen, ".XXXXXX"); |
| mktemp (buf); |
| } |
| |
| unsetenv ("PATH"); |
| char *argv[] = { buf + 9, NULL }; |
| execvp (argv[0], argv); |
| return 0; |
| } |
| |
| #define TEST_FUNCTION do_test () |
| #include "../test-skeleton.c" |