From 14d5391f9be3b8fc538fa31303c1c9ceac23cd1a Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 28 Nov 2000 13:57:45 +0000 Subject: Update. 2000-11-28 Ulrich Drepper * catgets/gencat.c (normalize_line): Take extra parameter with escape character. Change callers. (open_conversion): Determine mapping of 0x5c as wchar_t value. * catgets/Makefile: Add rules to build and run test-gencat. * catgets/sample.SJIS: New file. * catgets/test-gencat.c: New file. * catgets/test-gencat.sh: New file. Report and test case by Shinya Hanataka . --- ChangeLog | 11 +++++++++++ catgets/Makefile | 14 ++++++++++++-- catgets/sample.SJIS | 10 ++++++++++ catgets/test-gencat.c | 23 +++++++++++++++++++++++ catgets/test-gencat.sh | 40 ++++++++++++++++++++++++++++++++++++++++ localedata/Makefile | 2 +- 6 files changed, 97 insertions(+), 3 deletions(-) create mode 100644 catgets/sample.SJIS create mode 100644 catgets/test-gencat.c create mode 100755 catgets/test-gencat.sh diff --git a/ChangeLog b/ChangeLog index ec6ce79..a221455 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2000-11-28 Ulrich Drepper + + * catgets/gencat.c (normalize_line): Take extra parameter with escape + character. Change callers. + (open_conversion): Determine mapping of 0x5c as wchar_t value. + * catgets/Makefile: Add rules to build and run test-gencat. + * catgets/sample.SJIS: New file. + * catgets/test-gencat.c: New file. + * catgets/test-gencat.sh: New file. + Report and test case by Shinya Hanataka . + 2000-11-28 Andreas Jaeger * sysdeps/unix/sysv/linux/mips/bits/socket.h: Synch with generic diff --git a/catgets/Makefile b/catgets/Makefile index caf8eec..d6b4f0e 100644 --- a/catgets/Makefile +++ b/catgets/Makefile @@ -22,13 +22,15 @@ subdir := catgets headers = nl_types.h -distribute = catgetsinfo.h config.h xopen-msg.sed test1.msg +distribute = catgetsinfo.h config.h xopen-msg.sed test1.msg \ + test-gencat.sh sample.SJIS routines = catgets open_catalog others = gencat install-bin = gencat extra-objs = $(gencat-modules:=.o) tests = tst-catgets +test-srcs = test-gencat gencat-modules = xmalloc @@ -49,7 +51,7 @@ generated-dirs = de tst-catgets-ENV = NLSPATH="$(objpfx)%l/%N.cat" LANG=de ifneq ($(cross-compiling),yes) -tests: $(objpfx)de/libc.cat $(objpfx)test1.cat +tests: $(objpfx)de/libc.cat $(objpfx)test1.cat $(objpfx)test-gencat.out # This test just checks whether the program produces any error or not. # The result is not tested. $(objpfx)test1.cat: test1.msg $(objpfx)gencat @@ -65,4 +67,12 @@ $(objpfx)tst-catgets.out: $(objpfx)de/libc.cat # Generate a non-simple input file. $(objpfx)de.msg: $(..)po/de.po sed -f xopen-msg.sed $< > $@ + +$(objpfx)test-gencat.out: test-gencat.sh $(objpfx)test-gencat \ + $(objpfx)sample.SJIS.cat + $(SHELL) -e $< $(common-objpfx) '$(built-program-cmd)' + +$(objpfx)sample.SJIS.cat: sample.SJIS $(objpfx)gencat + GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \ + $(built-program-cmd) < $(word 1,$^) > $@ endif diff --git a/catgets/sample.SJIS b/catgets/sample.SJIS new file mode 100644 index 0000000..9ffcc01 --- /dev/null +++ b/catgets/sample.SJIS @@ -0,0 +1,10 @@ +$ test message catalog + +$ codeset=sjis +$quote " +$set 1 +1 sample1:ABCDEF: +2 sample2:日本語: +3 sample3:予定表: +4 sample4:TEST\tTAB: +5 sample5:機能\t十種類: diff --git a/catgets/test-gencat.c b/catgets/test-gencat.c new file mode 100644 index 0000000..fe5d091 --- /dev/null +++ b/catgets/test-gencat.c @@ -0,0 +1,23 @@ +#include +#include +#include +#include + +int +main (void) +{ + nl_catd catalog; + setlocale (LC_ALL, ""); + + printf ("LC_MESSAGES = %s\n", setlocale (LC_MESSAGES, NULL)); + + catalog = catopen ("sample", NL_CAT_LOCALE); + printf ("%s\n", catgets(catalog, 1, 1, "sample 1")); + printf ("%s\n", catgets(catalog, 1, 2, "sample 2")); + printf ("%s\n", catgets(catalog, 1, 3, "sample 3")); + printf ("%s\n", catgets(catalog, 1, 4, "sample 4")); + printf ("%s\n", catgets(catalog, 1, 5, "sample 5")); + catclose (catalog); + + return 0; +} diff --git a/catgets/test-gencat.sh b/catgets/test-gencat.sh new file mode 100755 index 0000000..99de335 --- /dev/null +++ b/catgets/test-gencat.sh @@ -0,0 +1,40 @@ +#! /bin/sh +# Test escape character handling in gencat. +# Copyright (C) 2000 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 +# modify it under the terms of the GNU Library General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. +# +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. +# +# You should have received a copy of the GNU Library General Public +# License along with the GNU C Library; see the file COPYING.LIB. If +# not, write to the Free Software Foundation, Inc., +# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +common_objpfx=$1 +run_program_prefix=$2 + +# Run the test program. +LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}iconvdata \ +NLSPATH=${common_objpfx}catgets/%N.%c.cat LC_ALL=ja_JP.SJIS \ + ${run_program_prefix} \ + > ${common_objpfx}catgets/test-gencat.out + +# Compare with the expected result. +cmp - ${common_objpfx}catgets/test-gencat.out <