diff options
-rw-r--r-- | iconv/skeleton.c | 9 | ||||
-rw-r--r-- | localedata/ChangeLog | 9 | ||||
-rw-r--r-- | localedata/Makefile | 4 | ||||
-rwxr-xr-x | localedata/tst-ctype.sh | 2 |
4 files changed, 20 insertions, 4 deletions
diff --git a/iconv/skeleton.c b/iconv/skeleton.c index 854cc70bee..e203f0fddb 100644 --- a/iconv/skeleton.c +++ b/iconv/skeleton.c @@ -294,9 +294,16 @@ FUNCTION_NAME (struct __gconv_step *step, struct __gconv_step_data *data, #ifdef EMIT_SHIFT_TO_INIT /* Emit the escape sequence to reset the state. */ EMIT_SHIFT_TO_INIT; +#else + /* Clear the state object. There might be bytes in there from + previous calls with CONSUME_INCOMPLETE == 1. */ + memset (data->__statep, '\0', sizeof (*data->__statep)); #endif /* Call the steps down the chain if there are any but only if we - successfully emitted the escape sequence. */ + successfully emitted the escape sequence. This should only + fail if the output buffer is full. If the input is invalid + it should be discarded since the user wants to start from a + clean slate. */ if (status == __GCONV_OK && ! (data->__flags & __GCONV_IS_LAST)) status = DL_CALL_FCT (fct, (next_step, next_data, NULL, NULL, NULL, irreversible, 1, diff --git a/localedata/ChangeLog b/localedata/ChangeLog index b5becf70ad..1f61a85259 100644 --- a/localedata/ChangeLog +++ b/localedata/ChangeLog @@ -1,5 +1,14 @@ 2000-06-28 Ulrich Drepper <drepper@redhat.com> + * Makefile (do-tst-ctype): Add do-tst-mbswcs to list of dependencies. + (TEST_MBWC_ENV): Remove unnecessary slash. + * tst-ctype.sh: Add de_DE.UTF-8 to list of tested locales. + + * tests-mbwc/dat_iswalnum.c (TST_ISW_LOC): Correct UTF-8 input data. + + * Makefile: Add do-tst-mbswcs to dependencies of locale test suite + tests. + * locales/iso14651_t1: Explicitly add control character in U0000-U001F and U007F-U009F range for backward compatibility. diff --git a/localedata/Makefile b/localedata/Makefile index d380c7d8cf..2a4356dbb3 100644 --- a/localedata/Makefile +++ b/localedata/Makefile @@ -130,7 +130,7 @@ do-tst-trans: tst-trans.sh $(objpfx)tst-trans do-tst-mbswcs: tst-mbswcs.sh $(objpfx)tst-mbswcs1 $(objpfx)tst-mbswcs2 \ $(objpfx)tst-mbswcs3 $(objpfx)tst-mbswcs4 $(objpfx)tst-mbswcs5 $(SHELL) -e $< $(common-objpfx) -do-tst-ctype: tst-ctype.sh $(objpfx)tst-ctype do-collate-test +do-tst-ctype: tst-ctype.sh $(objpfx)tst-ctype do-collate-test do-tst-mbswcs $(SHELL) -e $< $(common-objpfx) $(addsuffix .out,$(addprefix $(objpfx),$(locale_test_suite))): %: do-tst-ctype\ do-tst-mbswcs @@ -149,7 +149,7 @@ install-locales: $(inst_localedir)/$$locale; \ done < SUPPORTED -TEST_MBWC_ENV:= LOCPATH=$(common-objpfx)/localedata +TEST_MBWC_ENV:= LOCPATH=$(common-objpfx)localedata tst_iswalnum-ENV = $(TEST_MBWC_ENV) tst_iswalpha-ENV = $(TEST_MBWC_ENV) tst_iswcntrl-ENV = $(TEST_MBWC_ENV) diff --git a/localedata/tst-ctype.sh b/localedata/tst-ctype.sh index 6946c30671..135d7b4daf 100755 --- a/localedata/tst-ctype.sh +++ b/localedata/tst-ctype.sh @@ -46,7 +46,7 @@ status=0 # Run the test programs. rm -f ${common_objpfx}localedata/tst-ctype.out -for loc in de_DE en_US ja_JP.EUC-JP; do +for loc in de_DE de_DE.UTF-8 en_US ja_JP.EUC-JP; do if test -f tst-ctype-$loc.in; then input=tst-ctype-$loc.in else |