Revision tags: release/4.6.2_cvs, release/4.6.2 |
|
#
e74101e4 |
| 13-Aug-2002 |
Tim J. Robbins <tjr@FreeBSD.org> |
Basic support for wide character I/O: getwc(), fgetwc(), getwchar(), putwc(), fputwc(), putwchar(), ungetwc(), fwide().
|
Revision tags: release/7.4.0_cvs, release/8.2.0_cvs, release/7.4.0, release/8.2.0, release/8.1.0_cvs, release/8.1.0, release/7.3.0_cvs, release/7.3.0, release/8.0.0_cvs, release/8.0.0, release/7.2.0_cvs, release/7.2.0, release/7.1.0_cvs, release/7.1.0, release/6.4.0_cvs, release/6.4.0 |
|
#
1e98f887 |
| 18-Apr-2008 |
John Baldwin <jhb@FreeBSD.org> |
Next stage of stdio cleanup: Retire __sFILEX and merge the fields back into __sFILE. This was supposed to be done in 6.0. Some notes: - Where possible I restored the various lines to their pre-__sF
Next stage of stdio cleanup: Retire __sFILEX and merge the fields back into __sFILE. This was supposed to be done in 6.0. Some notes: - Where possible I restored the various lines to their pre-__sFILEX state. - Retire INITEXTRA() and just initialize the wchar bits (orientation and mbstate) explicitly instead. The various places that used INITEXTRA didn't need the locking fields or _up initialized. (Some places needed _up to exist and not be off the end of a NULL or garbage pointer, but they didn't require it to be initialized to a specific value.) - For now, stdio.h "knows" that pthread_t is a 'struct pthread *' to avoid namespace pollution of including all the pthread types in stdio.h. Once we remove all the inlines and make __sFILE private it can go back to using pthread_t, etc. - This does not remove any of the inlines currently and does not change any of the public ABI of 'FILE'.
MFC after: 1 month Reviewed by: peter
show more ...
|
Revision tags: release/7.0.0_cvs, release/7.0.0, release/6.3.0_cvs, release/6.3.0, release/6.2.0_cvs, release/6.2.0, release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0, release/6.0.0_cvs, release/6.0.0, release/5.4.0_cvs, release/5.4.0, release/4.11.0_cvs, release/4.11.0, release/5.3.0_cvs, release/5.3.0 |
|
#
f9ceea9b |
| 20-Jul-2004 |
Tim J. Robbins <tjr@FreeBSD.org> |
Call __mbrtowc() and __wcrtomb() directly instead of taking detours through mbrtowc() and wcrtomb().
|
Revision tags: release/4.10.0_cvs, release/4.10.0 |
|
#
87275e43 |
| 22-May-2004 |
Tim J. Robbins <tjr@FreeBSD.org> |
Associate a multibyte conversion state object with each stream. Reset it to the initial state when a stream is opened or seeked upon. Use the stream's conversion state object instead of a freshly-zer
Associate a multibyte conversion state object with each stream. Reset it to the initial state when a stream is opened or seeked upon. Use the stream's conversion state object instead of a freshly-zeroed one in fgetwc(), fputwc() and ungetwc().
This is only a performance improvement for now, but it would also be required in order to support state-dependent encodings.
show more ...
|
#
93996f6d |
| 07-Apr-2004 |
Tim J. Robbins <tjr@FreeBSD.org> |
Prepare to handle trivial state-dependent encodings. Full support for state-dependent encodings with locking shifts will come later if there is demand for it.
|
Revision tags: release/5.2.1_cvs, release/5.2.1, release/5.2.0_cvs, release/5.2.0 |
|
#
a27a4b36 |
| 04-Nov-2003 |
Tim J. Robbins <tjr@FreeBSD.org> |
Pass mbrtowc() and wcrtomb() NULL instead of a pointer to a freshly zeroed mbstate_t object that they ignore. The zeroing is fairly expensive, and it will never be necessary in these functions; when
Pass mbrtowc() and wcrtomb() NULL instead of a pointer to a freshly zeroed mbstate_t object that they ignore. The zeroing is fairly expensive, and it will never be necessary in these functions; when we support state-dependent encodings, we will pass in a pointer to the file's mbstate_t object, and only zero it at the time the file gets opened.
show more ...
|
#
d86d5b37 |
| 01-Nov-2003 |
Tim J. Robbins <tjr@FreeBSD.org> |
Fix a typo that caused the optimized single-byte locale path not to be taken.
|
Revision tags: release/4.9.0_cvs, release/4.9.0, release/5.1.0_cvs, release/5.1.0, release/4.8.0_cvs, release/4.8.0, release/5.0.0_cvs, release/5.0.0 |
|
#
6180233f |
| 16-Oct-2002 |
Tim J. Robbins <tjr@FreeBSD.org> |
Set the error bit on the stream if an encoding error occurs. Improve handling of multibyte sequences representing null wide characters.
|
Revision tags: release/4.7.0_cvs |
|
#
8f030a44 |
| 20-Sep-2002 |
Tim J. Robbins <tjr@FreeBSD.org> |
Introduce unlocked versions of fputwc() and fgetwc() called __fputwc() and __fgetwc() which can be used when we know the file is locked.
|
#
0b7bc802 |
| 18-Sep-2002 |
Tim J. Robbins <tjr@FreeBSD.org> |
Optimise the common case where no special encoding is in use (LC_CTYPE is "C" or "POSIX", other European locales). Use __sgetc() and __sputc() where possible to avoid a wasteful lock and unlock for e
Optimise the common case where no special encoding is in use (LC_CTYPE is "C" or "POSIX", other European locales). Use __sgetc() and __sputc() where possible to avoid a wasteful lock and unlock for each byte and to avoid function call overhead.
show more ...
|
#
24990dfa |
| 18-Sep-2002 |
Tim J. Robbins <tjr@FreeBSD.org> |
Reimplement the functionality of fgetrune(), fputrune(), and fungetrune() here in terms of mbrtowc(), wcrtomb(), and the single-byte I/O functions. The rune I/O functions are about to become deprecat
Reimplement the functionality of fgetrune(), fputrune(), and fungetrune() here in terms of mbrtowc(), wcrtomb(), and the single-byte I/O functions. The rune I/O functions are about to become deprecated in favour of the ones provided by ISO C90 Amd. 1 and C99.
show more ...
|
Revision tags: release/4.6.2_cvs, release/4.6.2 |
|
#
e74101e4 |
| 13-Aug-2002 |
Tim J. Robbins <tjr@FreeBSD.org> |
Basic support for wide character I/O: getwc(), fgetwc(), getwchar(), putwc(), fputwc(), putwchar(), ungetwc(), fwide().
|