mirror of git://sourceware.org/git/glibc.git
2000-04-09 Ulrich Drepper <drepper@redhat.com> Implement handling of restartable conversion functions according to ISO C. * iconv/gconv.h (__gconv_fct): Add additional parameter. * iconv/gconv_int.h (__BUILTIN_TRANS): Likewise. * iconv/gconv.c: Pass additional parameter to conversion function. * iconv/gconv_simple.c (internal_ucs4_loop_single): New function. (internal_ucs4le_loop_single): New function. (__gconv_transform_ascii_internal): Define ONE_DIRECTION. (__gconv_transform_internal_ascii): Likewise. (__gconv_transform_internal_utf8): Likewise. (__gconv_transform_utf8_internal): Likewise. (__gconv_transform_ucs2_internal): Likewise. (__gconv_transform_internal_ucs2): Likewise. (__gconv_transform_ucs2reverse_internal): Likewise. (__gconv_transform_internal_ucs2reverse): Likewise. (internal_ucs4le_loop_unaligned): Before return __GCONV_INCOMPLETE_INPUT check that the remaining bytes really form a valid character. Otherwise return __GCONV_ILLEGAL_INPUT. (__gconv_transform_utf8_internal): Define STORE_REST and UNPACK_BYTES. * iconv/loop.c: Fit in definition of function to convert one character for processing of left-over bytes from the state object. * iconv/skeleton.c (gconv): Rename inbuf to inptrp and inbufend to inend to match names in loop functions. (RESET_INPUT_BUFFER): Change apprpriately. (gconv): If needed, call function to process bytes from the state object. Similar at the end: store left over bytes if input is incomplete. Take extra argument and add new argument to all calls of the conversion function. * iconvdata/iso-2022-cn.c: Adjust numeric values used to store information in the state object to not conflict with length count. * iconvdata/iso-2022-jp.c: Likewise. * iconvdata/iso-2022-kr.c: Likewise. * iconvdata/unicode.c: Adjust for change change in parameters of skeleton function. * iconvdata/utf-16.c: Likewise. * libio/iofwide.c: Add new parameter to all calls of conversion function. * wcsmbs/btowc.c: Likewise. * wcsmbs/mbrtowc.c: Likewise. * wcsmbs/mbsnrtowcs.c: Likewise. * wcsmbs/mbsrtowcs.c: Likewise. * wcsmbs/wcrtomb.c: Likewise. * wcsmbs/wcsnrtombs.c: Likewise. * wcsmbs/wcsrtombs.c: Likewise. * wcsmbs/wctob.c: Likewise. * iconvdata/gbgbk.c: Always define MAX_NEEDED_OUTPUT and MAX_NEEDED_INPUT. |
||
|---|---|---|
| .. | ||
| bits | ||
| .cvsignore | ||
| Banner | ||
| Makefile | ||
| Versions | ||
| clearerr.c | ||
| clearerr_u.c | ||
| fcloseall.c | ||
| feof.c | ||
| feof_u.c | ||
| ferror.c | ||
| ferror_u.c | ||
| filedoalloc.c | ||
| fileno.c | ||
| fileops.c | ||
| fputc.c | ||
| fputc_u.c | ||
| fputwc.c | ||
| fputwc_u.c | ||
| freopen.c | ||
| freopen64.c | ||
| fseek.c | ||
| fseeko.c | ||
| fseeko64.c | ||
| ftello.c | ||
| ftello64.c | ||
| fwprintf.c | ||
| fwscanf.c | ||
| genops.c | ||
| getc.c | ||
| getc_u.c | ||
| getchar.c | ||
| getchar_u.c | ||
| getwc.c | ||
| getwc_u.c | ||
| getwchar.c | ||
| getwchar_u.c | ||
| iofclose.c | ||
| iofdopen.c | ||
| iofflush.c | ||
| iofflush_u.c | ||
| iofgetpos.c | ||
| iofgetpos64.c | ||
| iofgets.c | ||
| iofgets_u.c | ||
| iofgetws.c | ||
| iofgetws_u.c | ||
| iofopen.c | ||
| iofopen64.c | ||
| iofopncook.c | ||
| iofputs.c | ||
| iofputs_u.c | ||
| iofputws.c | ||
| iofputws_u.c | ||
| iofread.c | ||
| iofread_u.c | ||
| iofsetpos.c | ||
| iofsetpos64.c | ||
| ioftell.c | ||
| iofwide.c | ||
| iofwrite.c | ||
| iofwrite_u.c | ||
| iogetdelim.c | ||
| iogetline.c | ||
| iogets.c | ||
| iogetwline.c | ||
| iolibio.h | ||
| iopadn.c | ||
| iopopen.c | ||
| ioputs.c | ||
| ioseekoff.c | ||
| ioseekpos.c | ||
| iosetbuffer.c | ||
| iosetvbuf.c | ||
| iosprintf.c | ||
| ioungetc.c | ||
| ioungetwc.c | ||
| iovdprintf.c | ||
| iovsprintf.c | ||
| iovsscanf.c | ||
| iovswscanf.c | ||
| iowpadn.c | ||
| libio.h | ||
| libioP.h | ||
| memstream.c | ||
| obprintf.c | ||
| oldfileops.c | ||
| oldiofclose.c | ||
| oldiofdopen.c | ||
| oldiofgetpos.c | ||
| oldiofgetpos64.c | ||
| oldiofopen.c | ||
| oldiofsetpos.c | ||
| oldiofsetpos64.c | ||
| oldiopopen.c | ||
| oldpclose.c | ||
| oldstdfiles.c | ||
| oldtmpfile.c | ||
| pclose.c | ||
| peekc.c | ||
| putc.c | ||
| putc_u.c | ||
| putchar.c | ||
| putchar_u.c | ||
| putwc.c | ||
| putwc_u.c | ||
| putwchar.c | ||
| putwchar_u.c | ||
| rewind.c | ||
| setbuf.c | ||
| setlinebuf.c | ||
| stdfiles.c | ||
| stdio.c | ||
| stdio.h | ||
| strfile.h | ||
| strops.c | ||
| swprintf.c | ||
| swscanf.c | ||
| tst_swprintf.c | ||
| tst_swscanf.c | ||
| tst_wprintf.c | ||
| tst_wscanf.c | ||
| tst_wscanf.input | ||
| vasprintf.c | ||
| vscanf.c | ||
| vsnprintf.c | ||
| vswprintf.c | ||
| vwprintf.c | ||
| vwscanf.c | ||
| wfiledoalloc.c | ||
| wfileops.c | ||
| wgenops.c | ||
| wprintf.c | ||
| wscanf.c | ||
| wstrops.c | ||