about summary refs log tree commit diff
path: root/stdlib
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib')
-rw-r--r--stdlib/testdiv.c12
-rw-r--r--stdlib/tst-strtod.c33
-rw-r--r--stdlib/tst-strtol.c13
3 files changed, 36 insertions, 22 deletions
diff --git a/stdlib/testdiv.c b/stdlib/testdiv.c
index a3ae5c98d0..9a5341cf50 100644
--- a/stdlib/testdiv.c
+++ b/stdlib/testdiv.c
@@ -22,11 +22,19 @@
 int
 main (void)
 {
+  int err = 0;
   int i, j;
   while (scanf ("%d %d\n", &i, &j) == 2)
     {
       div_t d = div (i, j);
-      printf ("%d / %d = %d + %d/%d\n", i, j, d.quot, d.rem, j);
+      printf ("%d / %d = %d + %d/%d", i, j, d.quot, d.rem, j);
+      if (i == d.quot * j + d.rem)
+	fputs ("  OK\n", stdout);
+      else
+	{
+	  fputs ("  FAILED\n", stdout);
+	  err = 1;
+	}
     }
-  return 0;
+  return err;
 }
diff --git a/stdlib/tst-strtod.c b/stdlib/tst-strtod.c
index a76529c4dd..316fff93b9 100644
--- a/stdlib/tst-strtod.c
+++ b/stdlib/tst-strtod.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1996, 1997 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -49,6 +49,7 @@ main (int argc, char ** argv)
   register const struct ltest *lt;
   char *ep;
   int status = 0;
+  int save_errno;
 
   for (lt = tests; lt->str != NULL; ++lt)
     {
@@ -56,30 +57,32 @@ main (int argc, char ** argv)
 
       errno = 0;
       d = strtod(lt->str, &ep);
-      printf("strtod(\"%s\") test %u",
+      save_errno = errno;
+      printf ("strtod (\"%s\") test %u",
 	     lt->str, (unsigned int) (lt - tests));
-      if (d == lt->expect && *ep == lt->left && errno == lt->err)
-	puts("\tOK");
+      if (d == lt->expect && *ep == lt->left && save_errno == lt->err)
+	puts ("\tOK");
       else
 	{
-	  puts("\tBAD");
+	  puts ("\tBAD");
 	  if (d != lt->expect)
-	    printf("  returns %.60g, expected %.60g\n", d, lt->expect);
+	    printf ("  returns %.60g, expected %.60g\n", d, lt->expect);
 	  if (lt->left != *ep)
 	    {
 	      char exp1[5], exp2[5];
-	      expand(exp1, *ep);
-	      expand(exp2, lt->left);
-	      printf("  leaves '%s', expected '%s'\n", exp1, exp2);
+	      expand (exp1, *ep);
+	      expand (exp2, lt->left);
+	      printf ("  leaves '%s', expected '%s'\n", exp1, exp2);
 	    }
-	  if (errno != lt->err)
-	    printf("  errno %d (%s)  instead of %d (%s)\n",
-		   errno, strerror(errno), lt->err, strerror(lt->err));
+	  if (save_errno != lt->err)
+	    printf ("  errno %d (%s)  instead of %d (%s)\n",
+		    save_errno, strerror (save_errno),
+		    lt->err, strerror (lt->err));
 	  status = 1;
 	}
     }
 
-  exit(status ? EXIT_FAILURE : EXIT_SUCCESS);
+  exit (status ? EXIT_FAILURE : EXIT_SUCCESS);
 }
 
 static void
@@ -87,11 +90,11 @@ expand (dst, c)
      char *dst;
      register int c;
 {
-  if (isprint(c))
+  if (isprint (c))
     {
       dst[0] = c;
       dst[1] = '\0';
     }
   else
-    (void) sprintf(dst, "%#.3o", (unsigned int) c);
+    (void) sprintf (dst, "%#.3o", (unsigned int) c);
 }
diff --git a/stdlib/tst-strtol.c b/stdlib/tst-strtol.c
index 085787196b..13286912c7 100644
--- a/stdlib/tst-strtol.c
+++ b/stdlib/tst-strtol.c
@@ -106,9 +106,10 @@ main (int argc, char ** argv)
 	      expand (exp2, lt->left);
 	      printf ("  leaves '%s', expected '%s'\n", exp1, exp2);
 	    }
-	  if (errno != lt->err)
+	  if (save_errno != lt->err)
 	    printf ("  errno %d (%s)  instead of %d (%s)\n",
-		    errno, strerror (errno), lt->err, strerror (lt->err));
+		    save_errno, strerror (save_errno),
+		    lt->err, strerror (lt->err));
 	  status = 1;
 	}
     }
@@ -119,9 +120,10 @@ main (int argc, char ** argv)
 
       errno = 0;
       ul = strtoul (lt->str, &ep, lt->base);
+      save_errno = errno;
       printf ("strtoul(\"%s\", , %d) test %u",
 	      lt->str, lt->base, (unsigned int) (lt - tests));
-      if (ul == lt->expect && *ep == lt->left && errno == lt->err)
+      if (ul == lt->expect && *ep == lt->left && save_errno == lt->err)
 	puts("\tOK");
       else
 	{
@@ -136,9 +138,10 @@ main (int argc, char ** argv)
 	      expand (exp2, lt->left);
 	      printf ("  leaves '%s', expected '%s'\n", exp1, exp2);
 	    }
-	  if (errno != lt->err)
+	  if (save_errno != lt->err)
 	    printf ("  errno %d (%s) instead of %d (%s)\n",
-		    errno, strerror (errno), lt->err, strerror (lt->err));
+		    save_errno, strerror (save_errno),
+		    lt->err, strerror (lt->err));
 	  status = 1;
 	}
     }