From 22d5fbfe74038c925bae4abbb1a911818a77ee42 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 27 Mar 2000 18:36:21 +0000 Subject: [PATCH] Update. * stdio-common/tst-obprintf.c (main): Add another check to see obstack_printf handling all possible beginnings of the block inside an obstack chunk. --- ChangeLog | 5 ++++ localedata/ChangeLog | 4 +++ localedata/tst-fmon.data | 71 ++++++++++++++++++++------------------------- stdio-common/tst-obprintf.c | 10 +++++++ 4 files changed, 50 insertions(+), 40 deletions(-) diff --git a/ChangeLog b/ChangeLog index 961ca0f..6e8e2a3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,10 +1,15 @@ 2000-03-27 Ulrich Drepper + * 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 * stdio-common/tmpfile.c: Use macros. diff --git a/localedata/ChangeLog b/localedata/ChangeLog index f663a95..5b4abcd 100644 --- a/localedata/ChangeLog +++ b/localedata/ChangeLog @@ -1,3 +1,7 @@ +2000-03-27 Ulrich Drepper + + * tst-fmon.data: Update test after last strfmon change. + 2000-03-15 Andreas Jaeger * locales/sl_SI: Fix entries for june and july. diff --git a/localedata/tst-fmon.data b/localedata/tst-fmon.data index 2a1cb3a..d7e8073 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 , 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 5d7089b..39e8fda 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 (); -- 2.7.4