aboutsummaryrefslogtreecommitdiff
path: root/iconvdata/8bit-generic.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-04-15 17:02:23 +0000
committerUlrich Drepper <drepper@redhat.com>1998-04-15 17:02:23 +0000
commitf1fa8b68f3e7623a3ef86dcd0c7d090ccf0389f5 (patch)
tree6779500e7e6e0d2dae115fc25d6b199efd1a76ee /iconvdata/8bit-generic.c
parent479e9b3f2135707d4bfd13bf6c2ad1a242ea6cfc (diff)
downloadglibc-f1fa8b68f3e7623a3ef86dcd0c7d090ccf0389f5.tar
glibc-f1fa8b68f3e7623a3ef86dcd0c7d090ccf0389f5.tar.gz
glibc-f1fa8b68f3e7623a3ef86dcd0c7d090ccf0389f5.tar.bz2
glibc-f1fa8b68f3e7623a3ef86dcd0c7d090ccf0389f5.zip
Update.
1998-04-15 16:41 Ulrich Drepper <drepper@cygnus.com> Don't name internal representation since it might be different from the external form (namely on little endian machines). * iconv/gconv_builtin.h: Add UCS4 support. Change references to UCS4 into references to INTERNAL. * iconv/gconv_simple.c: Implement UCS4<->INTERNAL converters. Add endianess support to UCS functions. Change references to UCS4 into references to INTERNAL. * iconv/gconv_int.h: Change references to UCS4 into references to INTERNAL. * iconv/iconv_prog.c: Don't mention INTERNAL in --list output. * iconvdata/gconv-modules: Change accordingly. * wcsmbs/wcsmbsload.c: Change names to use INTERNAL. * iconv/gconv_simple.c: Adjust input buffer pointer for output buffer overflow. * iconvdata/8bit-gap.c: Likewise. * iconvdata/8bit-generic.c: Likewise. * iconvdata/big5.c: Likewise. * iconvdata/euccn.c: Likewise. * iconvdata/eucjp.c: Likewise. * iconvdata/euckr.c: Likewise. * iconvdata/euctw.c: Likewise. * iconvdata/iso646.c: Likewise. * iconvdata/iso6937.c: Likewise. * iconvdata/iso8859-1.c: Likewise. * iconvdata/johab.c: Likewise. * iconvdata/sjis.c: Likewise. * iconvdata/t61.c: Likewise. * iconvdata/uhc.c: Likewise. * iconvdata/8bit-gap.c: Correct access to to_ucs4 array. * iconvdata/8bit-generic.c: Likewise. * iconvdata/TESTS: Add more tests. * sysdeps/i386/bits/byteswap.h: Change to use "=r" when ror is used. 1998-04-15 11:47 Ulrich Drepper <drepper@cygnus.com> * iconvdata/Makefile: Better rules to run tests. * iconvdata/testdata/ISO-8859-1..UTF8: New file. * iconvdata/testdata/ISO-8859-10: Likewise. * iconvdata/testdata/ISO-8859-10..UCS2: Likewise. * iconvdata/testdata/ISO-8859-2: Likewise. * iconvdata/testdata/ISO-8859-2..UCS4: Likewise. * iconvdata/testdata/ISO-8859-2..UTF8: Likewise. * iconvdata/testdata/ISO-8859-3: Likewise. * iconvdata/testdata/ISO-8859-4: Likewise. * iconvdata/testdata/ISO-8859-5: Likewise. * iconvdata/testdata/ISO-8859-6: Likewise. * iconvdata/testdata/ISO-8859-7: Likewise. * iconvdata/testdata/ISO-8859-8: Likewise. * iconvdata/testdata/ISO-8859-9: Likewise. * iconvdata/run-iconv-test.sh: Handle $from..$t file to compare intermediate result (if available). * iconvdata/Makefile: Add rules to run run-iconv-test.sh. (distribute): Add run-iconv-test.sh and testdata/*. * stdlib/testmb.c (main): Simplify mbc array handling. * iconvdata/testdata/ISO-8859-1: New file.
Diffstat (limited to 'iconvdata/8bit-generic.c')
-rw-r--r--iconvdata/8bit-generic.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/iconvdata/8bit-generic.c b/iconvdata/8bit-generic.c
index 52cd540fb7..19194ad068 100644
--- a/iconvdata/8bit-generic.c
+++ b/iconvdata/8bit-generic.c
@@ -97,7 +97,7 @@ gconv (struct gconv_step *step, struct gconv_step_data *data,
while (cnt < inchars
&& (outwchars + sizeof (wchar_t) <= data->outbufsize))
{
- wchar_t ch = to_ucs4[(unsigned int) inbuf[cnt]];
+ wchar_t ch = to_ucs4[((unsigned char *) inbuf)[cnt]];
if (ch == L'\0' && inbuf[cnt] != '\0')
{
@@ -112,6 +112,7 @@ gconv (struct gconv_step *step, struct gconv_step_data *data,
++cnt;
}
*inbufsize -= cnt;
+ inbuf += cnt;
data->outbufavail = outwchars;
}
else
@@ -136,6 +137,7 @@ gconv (struct gconv_step *step, struct gconv_step_data *data,
cnt += sizeof (wchar_t);
}
*inbufsize -= cnt;
+ inbuf += cnt;
data->outbufavail = outchars;
if (outchars < data->outbufsize)