summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--localedata/ChangeLog4
-rw-r--r--localedata/tst-fmon.data71
-rw-r--r--stdio-common/tst-obprintf.c10
4 files changed, 50 insertions, 40 deletions
diff --git a/ChangeLog b/ChangeLog
index 961ca0fd42..6e8e2a33ce 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,10 +1,15 @@
2000-03-27 Ulrich Drepper <drepper@redhat.com>
+ * stdio-common/tst-obprintf.c (main): Add another check to see
+ obstack_printf handling all possible beginnings of the block
+ inside an obstack chunk.
+
* locale/programs/localedef.c: Use __malloc_initialize_hook to
install mcheck handler.
* libio/obprintf.c (_IO_obstack_vprintf): Fix one more memory
handling problem.
+
2000-03-27 Roland McGrath <roland@baalperazim.frob.com>
* stdio-common/tmpfile.c: Use <shlib-compat.h> macros.
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index f663a95517..5b4abcd1be 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,3 +1,7 @@
+2000-03-27 Ulrich Drepper <drepper@redhat.com>
+
+ * tst-fmon.data: Update test after last strfmon change.
+
2000-03-15 Andreas Jaeger <aj@suse.de>
* locales/sl_SI: Fix entries for june and july.
diff --git a/localedata/tst-fmon.data b/localedata/tst-fmon.data
index 2a1cb3ab62..d7e80734d1 100644
--- a/localedata/tst-fmon.data
+++ b/localedata/tst-fmon.data
@@ -1,5 +1,5 @@
# Test data for test-strfmon, which checks it's implementation in glibc
-# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# Contributed by Jochen Hein <jochen.hein@delphi.central.de>, 1997.
#
@@ -22,7 +22,7 @@
# for strfmon. Fields are separated by TABs. Lines that start with a
# '#' are comments and are ignored.
#
-# Field Deskription
+# Field Description
# #1 locale which is to be checked
# #2 format string which is fed into strfmon
# #3 double value that is used for formatting
@@ -30,39 +30,38 @@
#
# First the implementation without any locale-dependent data
# - no currency symbol is printed, formatting is somewhat standard
-C %n 1.23 1.23
+C %n 1.23 1.23
C %n -1.23 -1.23
-C %n 0 0.00
+C %n 0 0.00
C %% 0 %
-C *%n* 1.23 * 1.23*
+C *%n* 1.23 *1.23*
C %9n 1.23 1.23
-C %#9n 1.23 1.23
-C %=*#9n 1.23 ********1.23
+C %#9n 1.23 1.23
+C %=*#9n 1.23 ********1.23
#
# check both the german locale and strfmon with that data
#
-de_DE.ISO-8859-1 %n 1.23 DM1,23
+de_DE.ISO-8859-1 %n 1.23 DM1,23
de_DE.ISO-8859-1 %n -1.23 -DM1,23
-de_DE.ISO-8859-1 %n 1234.56 DM1.234,56
+de_DE.ISO-8859-1 %n 1234.56 DM1.234,56
de_DE.ISO-8859-1 %11n 123.45 DM123,45
de_DE.ISO-8859-1 %11n -123.45 -DM123,45
de_DE.ISO-8859-1 %11n 3456.781 DM3.456,78
-de_DE.ISO-8859-1 %^n 1234.56 DM1234,56
-de_DE.ISO-8859-1 %+n 1234.56 DM1.234,56
+de_DE.ISO-8859-1 %^n 1234.56 DM1234,56
+de_DE.ISO-8859-1 %+n 1234.56 DM1.234,56
de_DE.ISO-8859-1 %+n -1234.56 -DM1.234,56
-# The following line ends with a blank
-de_DE.ISO-8859-1 %(n 1234.56 DM1.234,56
+de_DE.ISO-8859-1 %(n 1234.56 DM1.234,56
de_DE.ISO-8859-1 %(n -1234.56 (DM1.234,56)
-de_DE.ISO-8859-1 %^n 1234.56 DM1234,56
-de_DE.ISO-8859-1 %i 1.23 DEM 1,23
+de_DE.ISO-8859-1 %^n 1234.56 DM1234,56
+de_DE.ISO-8859-1 %i 1.23 DEM 1,23
de_DE.ISO-8859-1 %i -1.23 -DEM 1,23
-de_DE.ISO-8859-1 %i 1234.56 DEM 1.234,56
-de_DE.ISO-8859-1 %^i 1234.56 DEM 1234,56
-de_DE.ISO-8859-1 %+i 1234.56 DEM 1.234,56
+de_DE.ISO-8859-1 %i 1234.56 DEM 1.234,56
+de_DE.ISO-8859-1 %^i 1234.56 DEM 1234,56
+de_DE.ISO-8859-1 %+i 1234.56 DEM 1.234,56
de_DE.ISO-8859-1 %+i -1234.56 -DEM 1.234,56
-de_DE.ISO-8859-1 %(i 1234.56 DEM 1.234,56
+de_DE.ISO-8859-1 %(i 1234.56 DEM 1.234,56
de_DE.ISO-8859-1 %(i -1234.56 (DEM 1.234,56)
-de_DE.ISO-8859-1 %^i 1234.56 DEM 1234,56
+de_DE.ISO-8859-1 %^i 1234.56 DEM 1234,56
de_DE.ISO-8859-1 %#5n 123.45 DM 123,45
de_DE.ISO-8859-1 %#5n -123.45 -DM 123,45
de_DE.ISO-8859-1 %#5n 3456.781 DM 3.456,78
@@ -81,26 +80,22 @@ de_DE.ISO-8859-1 %^#5.0n 3456.781 DM 3457
de_DE.ISO-8859-1 %^#5.4n 123.45 DM 123,4500
de_DE.ISO-8859-1 %^#5.4n -123.45 -DM 123,4500
de_DE.ISO-8859-1 %^#5.4n 3456.781 DM 3456,7810
-# This line is followed by a blank!
-de_DE.ISO-8859-1 %(#5n 123.45 DM 123,45
+de_DE.ISO-8859-1 %(#5n 123.45 DM 123,45
de_DE.ISO-8859-1 %(#5n -123.45 (DM 123,45)
-# This line is followed by a blank!
-de_DE.ISO-8859-1 %(#5n 3456.781 DM 3.456,78
-# This line is followed by a blank!
-de_DE.ISO-8859-1 %!(#5n 123.45 123,45
+de_DE.ISO-8859-1 %(#5n 3456.781 DM 3.456,78
+de_DE.ISO-8859-1 %!(#5n 123.45 123,45
de_DE.ISO-8859-1 %!(#5n -123.45 ( 123,45)
-# This line is followed by a blank!
-de_DE.ISO-8859-1 %!(#5n 3456.781 3.456,78
+de_DE.ISO-8859-1 %!(#5n 3456.781 3.456,78
#
# check both the en_US locale and strfmon with that data
# a lot of this checks are created from a strfmon(3) man-page.
#
-en_US.ISO-8859-1 %n 123.45 $123.45
+en_US.ISO-8859-1 %n 123.45 $123.45
en_US.ISO-8859-1 %n -123.45 -$123.45
-en_US.ISO-8859-1 %n 3456.781 $3,456.78
-en_US.ISO-8859-1 %i 123.45 USD 123.45
+en_US.ISO-8859-1 %n 3456.781 $3,456.78
+en_US.ISO-8859-1 %i 123.45 USD 123.45
en_US.ISO-8859-1 %i -123.45 -USD 123.45
-en_US.ISO-8859-1 %i 3456.781 USD 3,456.78
+en_US.ISO-8859-1 %i 3456.781 USD 3,456.78
en_US.ISO-8859-1 %11n 123.45 $123.45
en_US.ISO-8859-1 %11n -123.45 -$123.45
en_US.ISO-8859-1 %11n 3456.781 $3,456.78
@@ -119,16 +114,12 @@ en_US.ISO-8859-1 %^#5.0n 3456.781 $ 3457
en_US.ISO-8859-1 %^#5.4n 123.45 $ 123.4500
en_US.ISO-8859-1 %^#5.4n -123.45 -$ 123.4500
en_US.ISO-8859-1 %^#5.4n 3456.781 $ 3456.7810
-# This line is followed by a blank!
-en_US.ISO-8859-1 %(#5n 123.45 $ 123.45
+en_US.ISO-8859-1 %(#5n 123.45 $ 123.45
en_US.ISO-8859-1 %(#5n -123.45 ($ 123.45)
-# This line is followed by a blank!
-en_US.ISO-8859-1 %(#5n 3456.781 $ 3,456.78
-# This line is followed by a blank!
-en_US.ISO-8859-1 %!(#5n 123.45 123.45
+en_US.ISO-8859-1 %(#5n 3456.781 $ 3,456.78
+en_US.ISO-8859-1 %!(#5n 123.45 123.45
en_US.ISO-8859-1 %!(#5n -123.45 ( 123.45)
-# This line is followed by a blank!
-en_US.ISO-8859-1 %!(#5n 3456.781 3,456.78
+en_US.ISO-8859-1 %!(#5n 3456.781 3,456.78
en_US.ISO-8859-1 %#5n 123.45 $ 123.45
en_US.ISO-8859-1 %#5n -123.45 -$ 123.45
en_US.ISO-8859-1 %#5n 3456.781 $ 3,456.78
diff --git a/stdio-common/tst-obprintf.c b/stdio-common/tst-obprintf.c
index 5d7089b268..39e8fdab6f 100644
--- a/stdio-common/tst-obprintf.c
+++ b/stdio-common/tst-obprintf.c
@@ -25,6 +25,16 @@ main (void)
obstack_finish (&ob);
}
+ /* Another loop where we finish all objects, each of size 1. This will
+ manage to call `obstack_print' with all possible positions inside
+ an obstack chunk. */
+ for (n = 0; n < 40000; ++n)
+ {
+ mcheck_check_all ();
+ obstack_printf (&ob, "%c", 'a' + n % 26);
+ obstack_finish (&ob);
+ }
+
/* And a final check. */
mcheck_check_all ();