summaryrefslogtreecommitdiff
path: root/posix/tst-gnuglob.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-02-15 03:23:39 +0000
committerUlrich Drepper <drepper@redhat.com>2001-02-15 03:23:39 +0000
commitcd53c157cf172ebb61f9298e3c389ae84dbc0429 (patch)
treef207ad27dbf9d1336a970c22e0755701e5ea1a38 /posix/tst-gnuglob.c
parent36874b2165b088f18403e49951c4b6a78d311ac0 (diff)
Update.
* math/libm-test.inc (j0_test): Check whether sincos is available. (j1_test): Likewise. (jn_test): Likewise. (y0_test): Likewise. (y1_test): Likewise. (yn_test): Likewise. * posix/tst-gnuglob.c: Make a few entries DT_UNKNOWN and teach fake filesystem routines to handle this.
Diffstat (limited to 'posix/tst-gnuglob.c')
-rw-r--r--posix/tst-gnuglob.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/posix/tst-gnuglob.c b/posix/tst-gnuglob.c
index d3e6b007e0..68451da9bc 100644
--- a/posix/tst-gnuglob.c
+++ b/posix/tst-gnuglob.c
@@ -47,8 +47,8 @@ static struct
{ ".", 1, DT_DIR },
{ "..", 1, DT_DIR },
{ "file1lev1", 1, DT_REG },
- { "file2lev1", 1, DT_REG },
- { "dir1lev1", 1, DT_DIR },
+ { "file2lev1", 1, DT_UNKNOWN },
+ { "dir1lev1", 1, DT_UNKNOWN },
{ ".", 2, DT_DIR },
{ "..", 2, DT_DIR },
{ "file1lev2", 2, DT_REG },
@@ -75,7 +75,7 @@ static struct
{ "dir2lev1", 1, DT_DIR },
{ ".", 2, DT_DIR },
{ "..", 2, DT_DIR },
- { "dir1lev2", 2, DT_DIR },
+ { "dir1lev2", 2, DT_UNKNOWN },
{ ".", 3, DT_DIR },
{ "..", 3, DT_DIR },
{ ".foo", 3, DT_REG },
@@ -124,7 +124,9 @@ find_file (const char *s)
errno = ENOENT;
return -1;
}
- if (filesystem[idx].type != DT_DIR)
+ if (filesystem[idx].type != DT_DIR
+ && (idx + 1 >= nfiles
+ || filesystem[idx].level >= filesystem[idx + 1].level))
{
errno = ENOTDIR;
return -1;
@@ -230,7 +232,12 @@ my_stat (const char *name, struct stat *st)
memset (st, '\0', sizeof (*st));
- st->st_mode = DTTOIF (filesystem[idx].type) | 0777;
+ if (filesystem[idx].type == DT_UNKNOWN)
+ st->st_mode = DTTOIF (idx + 1 < nfiles
+ && filesystem[idx].level < filesystem[idx + 1].level
+ ? DT_DIR : DT_REG) | 0777;
+ else
+ st->st_mode = DTTOIF (filesystem[idx].type) | 0777;
PRINTF ("my_stat (\"%s\", { st_mode: %o }) = 0\n", name, st->st_mode);