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>.
This commit is contained in:
Ulrich Drepper 2000-11-28 13:57:45 +00:00
parent ee25ee65c5
commit 14d5391f9b
6 changed files with 97 additions and 3 deletions

View File

@ -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

View File

@ -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

10
catgets/sample.SJIS Normal file
View File

@ -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十種類:

23
catgets/test-gencat.c Normal file
View File

@ -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;
}

40
catgets/test-gencat.sh Executable file
View File

@ -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 $?

View File

@ -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))