From 63e18f77e2e1cfadfd7d6daa0c2c6583c7c7d7d9 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 8 Sep 2000 04:31:55 +0000 Subject: Update. * iconvdata/tst-tables.sh: Actually return with an error if something goes wrong. * iconvdata/tst-table.sh: Return with an error if any of the cmp fails. * iconvdata/big5hkscs.c (BODY of FROM_LOOP): Reject 0xff as input. --- ChangeLog | 5 +++++ iconvdata/big5hkscs.c | 5 +++++ iconvdata/tst-table.sh | 9 ++++++--- iconvdata/tst-tables.sh | 15 ++++++++++----- 4 files changed, 26 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index c24b95e2f5..212eaa8274 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2000-09-07 Ulrich Drepper + * iconvdata/tst-tables.sh: Actually return with an error if + something goes wrong. + * iconvdata/tst-table.sh: Return with an error if any of the cmp fails. + * iconvdata/big5hkscs.c (BODY of FROM_LOOP): Reject 0xff as input. + * iconvdata/tst-tables.sh: Add BIG5HKSCS. * iconvdata/tst-table-to.c (main): Correct cast in iconv call. diff --git a/iconvdata/big5hkscs.c b/iconvdata/big5hkscs.c index e5097c75c9..316baa1e5f 100644 --- a/iconvdata/big5hkscs.c +++ b/iconvdata/big5hkscs.c @@ -11727,6 +11727,11 @@ static struct \ inptr += 2; \ } \ + else if (__builtin_expect (ch, 0) == 0xff) \ + { \ + result = __GCONV_ILLEGAL_INPUT; \ + break; \ + } \ else \ ++inptr; \ \ diff --git a/iconvdata/tst-table.sh b/iconvdata/tst-table.sh index 4cd2f6e29b..9b3fcc3dad 100755 --- a/iconvdata/tst-table.sh +++ b/iconvdata/tst-table.sh @@ -61,15 +61,18 @@ diff ${objpfx}tst-${charset}.table ${objpfx}tst-${charset}.inverse.table | \ grep '^[<>]' | sed -e 's,^. ,,' > ${objpfx}tst-${charset}.irreversible.table # Check 1: charmap and iconv forward should be identical. -cmp -s ${objpfx}tst-${charset}.charmap.table ${objpfx}tst-${charset}.table +cmp -s ${objpfx}tst-${charset}.charmap.table ${objpfx}tst-${charset}.table || +exit 1 # Check 2: the difference between the two iconv directions. if test -f ${irreversible}; then cat ${objpfx}tst-${charset}.charmap.table ${irreversible} | sort | uniq -u \ > ${objpfx}tst-${charset}.tmp.table - cmp -s ${objpfx}tst-${charset}.tmp.table ${objpfx}tst-${charset}.inverse.table + cmp -s ${objpfx}tst-${charset}.tmp.table ${objpfx}tst-${charset}.inverse.table || + exit 1 else - cmp -s ${objpfx}tst-${charset}.table ${objpfx}tst-${charset}.inverse.table + cmp -s ${objpfx}tst-${charset}.table ${objpfx}tst-${charset}.inverse.table || + exit 1 fi exit 0 diff --git a/iconvdata/tst-tables.sh b/iconvdata/tst-tables.sh index 202b52f09f..8692b2a86b 100755 --- a/iconvdata/tst-tables.sh +++ b/iconvdata/tst-tables.sh @@ -179,7 +179,7 @@ cat <&2 - ./tst-table.sh ${common_objpfx} ${objpfx} ${charset} ${charmap} \ - || { echo "failed: ./tst-table.sh ${common_objpfx} ${objpfx} ${charset} ${charmap}"; status=1; } + echo -n "Testing ${charset}" 1>&2 + if ./tst-table.sh ${common_objpfx} ${objpfx} ${charset} ${charmap}; then + echo 1>&2 + else + echo "failed: ./tst-table.sh ${common_objpfx} ${objpfx} ${charset} ${charmap}" + echo " *** FAILED ***" 1>&2 + exit 1 + fi done -exit $status +exit $? -- cgit 1.4.1