1 /* Test case for globbing dangling symlink. By Ulrich Drepper. */
11 static void prepare (int argc
, char *argv
[]);
12 #define PREPARE prepare
13 static int do_test (void);
14 #define TEST_FUNCTION do_test ()
16 #include "../test-skeleton.c"
22 prepare (int argc
, char *argv
[])
25 error (EXIT_FAILURE
, 0, "missing argument");
27 size_t len
= strlen (argv
[1]);
28 static const char ext
[] = "globXXXXXX";
29 fname
= malloc (len
+ 1 + sizeof (ext
));
31 error (EXIT_FAILURE
, errno
, "cannot create temp file");
32 strcpy (stpcpy (stpcpy (fname
, argv
[1]), "/"), ext
);
33 fname
= mktemp (fname
);
34 if (fname
== NULL
|| *fname
== '\0')
35 error (EXIT_FAILURE
, errno
, "cannot create temp file name");
36 if (symlink ("bug-glob1-does-not-exist", fname
) != 0)
37 error (EXIT_FAILURE
, errno
, "cannot create symlink");
38 add_temp_file (fname
);
49 e
= glob (fname
, 0, NULL
, &gl
);
52 printf ("glob(\"%s\") succeeded\n", fname
);
57 size_t fnamelen
= strlen (fname
);
58 char buf
[fnamelen
+ 2];
61 buf
[fnamelen
- 1] = '?';
62 e
= glob (buf
, 0, NULL
, &gl
);
65 printf ("glob(\"%s\") succeeded\n", buf
);
72 buf
[fnamelen
+ 1] = '\0';
73 e
= glob (buf
, 0, NULL
, &gl
);
76 printf ("glob(\"%s\") succeeded\n", buf
);