diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-11-28 13:57:45 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-11-28 13:57:45 +0000 |
commit | 14d5391f9be3b8fc538fa31303c1c9ceac23cd1a (patch) | |
tree | 60901263cf3270a18c74622eaf2c30048ebce3a0 /catgets | |
parent | ee25ee65c50800db31d0fde1db70338e3c44d8a7 (diff) | |
download | glibc-14d5391f9be3b8fc538fa31303c1c9ceac23cd1a.zip glibc-14d5391f9be3b8fc538fa31303c1c9ceac23cd1a.tar.gz glibc-14d5391f9be3b8fc538fa31303c1c9ceac23cd1a.tar.bz2 |
Update.
2000-11-28 Ulrich Drepper <drepper@redhat.com>
* 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 <hanataka@abyss.rim.or.jp>.
Diffstat (limited to 'catgets')
-rw-r--r-- | catgets/Makefile | 14 | ||||
-rw-r--r-- | catgets/sample.SJIS | 10 | ||||
-rw-r--r-- | catgets/test-gencat.c | 23 | ||||
-rwxr-xr-x | catgets/test-gencat.sh | 40 |
4 files changed, 85 insertions, 2 deletions
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 <locale.h> +#include <nl_types.h> +#include <stdio.h> +#include <stdlib.h> + +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 <<EOF +LC_MESSAGES = ja_JP.SJIS +sample1:ABCDEF: +sample2:日本語: +sample3:予定表: +sample4:TEST TAB: +sample5:機能 十種類: +EOF + +exit $? |