diff options
-rw-r--r-- | ChangeLog | 11 | ||||
-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 | ||||
-rw-r--r-- | localedata/Makefile | 2 |
6 files changed, 97 insertions, 3 deletions
@@ -1,3 +1,14 @@ +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>. + 2000-11-28 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/mips/bits/socket.h: Synch with generic diff --git a/catgets/Makefile b/catgets/Makefile index caf8eec651..d6b4f0e64b 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 0000000000..9ffcc01ac5 --- /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 0000000000..fe5d0916b7 --- /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 0000000000..99de335c76 --- /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 $? diff --git a/localedata/Makefile b/localedata/Makefile index ed46db9069..88b369834d 100644 --- a/localedata/Makefile +++ b/localedata/Makefile @@ -123,7 +123,7 @@ ifeq (no,$(cross-compiling)) # We have to generate locales LOCALES := de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4-1968 \ en_US.ISO-8859-1 ja_JP.EUC-JP da_DK.ISO-8859-1 \ - hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 + hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 ja_JP.SJIS LOCALE_SRCS := $(shell echo "$(LOCALES)"|sed 's/\([^ .]*\)[^ ]*/\1/g') CHARMAPS := $(shell echo "$(LOCALES)"|sed 's/[^ .]*[.]\([^ ]*\)/\1/g') CTYPE_FILES = $(addsuffix /LC_CTYPE,$(LOCALES)) |