about summary refs log tree commit diff
path: root/stdio-common
diff options
context:
space:
mode:
Diffstat (limited to 'stdio-common')
-rw-r--r--stdio-common/Makefile4
-rw-r--r--stdio-common/printf_fp.c20
-rw-r--r--stdio-common/tstscanf.c4
3 files changed, 18 insertions, 10 deletions
diff --git a/stdio-common/Makefile b/stdio-common/Makefile
index deb6f92214..d4a167580c 100644
--- a/stdio-common/Makefile
+++ b/stdio-common/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+# Copyright (C) 1991, 92, 93, 94, 95, 96 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
@@ -41,7 +41,7 @@ tests := tst-printf tstscanf test_rdwr test-popen tstgetln test-fseek \
 	 xbug errnobug \
 	 bug1 bug2 bug3 bug4 bug5 bug6 bug7 bug8 bug9 bug10 bug11 \
 	 tfformat tiformat tstdiomisc \
-	 scanf1 scanf2 scanf3 scanf4 scanf5 scanf6 scanf7 scanf8 scanf9
+	 scanf1 scanf2 scanf3 scanf4 scanf5 scanf7 scanf8 scanf9
 
 
 include ../Rules
diff --git a/stdio-common/printf_fp.c b/stdio-common/printf_fp.c
index 747491f012..15eb0b63ab 100644
--- a/stdio-common/printf_fp.c
+++ b/stdio-common/printf_fp.c
@@ -382,8 +382,9 @@ __printf_fp (FILE *fp,
 	      else
 		{
 		  cy = __mpn_mul (tmp, scale, scalesize,
-				  tens->array + 2, tens->arraysize - 2);
-		  tmpsize = scalesize + tens->arraysize - 2;
+				  &tens->array[_FPIO_CONST_OFFSET],
+				  tens->arraysize - _FPIO_CONST_OFFSET);
+		  tmpsize = scalesize + tens->arraysize - _FPIO_CONST_OFFSET;
 		  if (cy == 0)
 		    --tmpsize;
 		}
@@ -513,13 +514,15 @@ __printf_fp (FILE *fp,
 
 	      /* The __mpn_mul function expects the first argument to be
 		 bigger than the second.  */
-	      if (fracsize < tens->arraysize - 2)
-		cy = __mpn_mul (tmp, &tens->array[2], tens->arraysize - 2,
+	      if (fracsize < tens->arraysize - _FPIO_CONST_OFFSET)
+		cy = __mpn_mul (tmp, &tens->array[_FPIO_CONST_OFFSET],
+				tens->arraysize - _FPIO_CONST_OFFSET,
 				frac, fracsize);
 	      else
 		cy = __mpn_mul (tmp, frac, fracsize,
-				&tens->array[2], tens->arraysize - 2);
-	      tmpsize = fracsize + tens->arraysize - 2;
+				&tens->array[_FPIO_CONST_OFFSET],
+				tens->arraysize - _FPIO_CONST_OFFSET);
+	      tmpsize = fracsize + tens->arraysize - _FPIO_CONST_OFFSET;
 	      if (cy == 0)
 		--tmpsize;
 
@@ -536,11 +539,12 @@ __printf_fp (FILE *fp,
 		if (cnt_h <= BITS_PER_MP_LIMB - 4)
 		  {
 		    topval[0] = 0;
-		    topval[1] = 10 << (BITS_PER_MP_LIMB - 4 - cnt_h);
+		    topval[1]
+		      = ((mp_limb) 10) << (BITS_PER_MP_LIMB - 4 - cnt_h);
 		  }
 		else
 		  {
-		    topval[0] = 10 << (BITS_PER_MP_LIMB - 4);
+		    topval[0] = ((mp_limb) 10) << (BITS_PER_MP_LIMB - 4);
 		    topval[1] = 0;
 		    (void) __mpn_lshift (topval, topval, 2,
 					 BITS_PER_MP_LIMB - cnt_h);
diff --git a/stdio-common/tstscanf.c b/stdio-common/tstscanf.c
index 53d4b0ac47..738b25a65e 100644
--- a/stdio-common/tstscanf.c
+++ b/stdio-common/tstscanf.c
@@ -31,6 +31,10 @@ DEFUN(main, (argc, argv), int argc AND char **argv)
 {
   char buf[BUFSIZ];
   FILE *in = stdin, *out = stdout;
+  int x;
+
+  if (sscanf ("0", "%d", &x) != 1)
+    exit (EXIT_FAILURE);
 
   if (argc == 2 && !strcmp (argv[1], "-opipe"))
     {