Update.
authorUlrich Drepper <drepper@redhat.com>
Thu, 15 Feb 2001 03:23:39 +0000 (03:23 +0000)
committerUlrich Drepper <drepper@redhat.com>
Thu, 15 Feb 2001 03:23:39 +0000 (03:23 +0000)
* 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.

ChangeLog
math/libm-test.inc
posix/tst-gnuglob.c

index 29b22d9..c3daa74 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2001-02-14  Ulrich Drepper  <drepper@redhat.com>
 
+       * 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.
+
        * time/sys/time.h: Make settimeofday and adjtime available if
        _BSD_SOURCE.
 
index 6bbbff5..89a21d3 100644 (file)
@@ -2824,7 +2824,12 @@ isnormal_test (void)
 static void
 j0_test (void)
 {
+  FLOAT s, c;
   errno = 0;
+  FUNC (sincos) (0, &s, &c);
+  if (errno == ENOSYS)
+    /* Required function not implemented.  */
+    return;
   FUNC(j0) (0);
   if (errno == ENOSYS)
     /* Function not implemented.  */
@@ -2853,6 +2858,10 @@ static void
 j1_test (void)
 {
   errno = 0;
+  FUNC (sincos) (0, &s, &c);
+  if (errno == ENOSYS)
+    /* Required function not implemented.  */
+    return;
   FUNC(j1) (0);
   if (errno == ENOSYS)
     /* Function not implemented.  */
@@ -2882,6 +2891,10 @@ static void
 jn_test (void)
 {
   errno = 0;
+  FUNC (sincos) (0, &s, &c);
+  if (errno == ENOSYS)
+    /* Required function not implemented.  */
+    return;
   FUNC(jn) (1, 1);
   if (errno == ENOSYS)
     /* Function not implemented.  */
@@ -4002,6 +4015,10 @@ static void
 y0_test (void)
 {
   errno = 0;
+  FUNC (sincos) (0, &s, &c);
+  if (errno == ENOSYS)
+    /* Required function not implemented.  */
+    return;
   FUNC(y0) (1);
   if (errno == ENOSYS)
     /* Function not implemented.  */
@@ -4031,6 +4048,10 @@ static void
 y1_test (void)
 {
   errno = 0;
+  FUNC (sincos) (0, &s, &c);
+  if (errno == ENOSYS)
+    /* Required function not implemented.  */
+    return;
   FUNC(y1) (1);
   if (errno == ENOSYS)
     /* Function not implemented.  */
@@ -4059,6 +4080,10 @@ static void
 yn_test (void)
 {
   errno = 0;
+  FUNC (sincos) (0, &s, &c);
+  if (errno == ENOSYS)
+    /* Required function not implemented.  */
+    return;
   FUNC(yn) (1, 1);
   if (errno == ENOSYS)
     /* Function not implemented.  */
index d3e6b00..68451da 100644 (file)
@@ -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);