summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* * faq-using.xml (faq.using.symlinkstoppedworking): Rename.Corinna Vinschen2009-04-013-11/+37
| | | | | (faq.using.ipv6): New IPv6 FAQ. * gdb.sgml: Remove incorrect statement about Insight.
* * strfuncs.cc (sys_cp_mbstowcs): Check if ASCII SO is followed by atCorinna Vinschen2009-04-012-2/+12
| | | | | least two chars and the next byte is a valid UTF-8 start byte before trying to convert the followup bytes as UTF-8 sequence.
* 2009-03-31 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2009-03-312-0/+9
| | | | | | * common.h (EM_INTEL178): New. (EM_INTEL179): Likewise. (EM_INTEL180): Likewise.
* * shm.cc (struct shm_attached_list): Convert access type to ULONG.Corinna Vinschen2009-03-312-13/+30
| | | | | | | | (fixup_shms_after_fork): Fix comment. Use NtMapViewOfSection rather than MapViewOfFileEx to recreate shared memory regions. Add function name to api_fatal output. (shmat): Use NtMapViewOfSection to create shared memory region top-down.
* * setup2.sgml (setup-locale-problems): Fix an incomplete sentence.Corinna Vinschen2009-03-312-3/+8
|
* * faq-using.xml (faq.using.unicode): Modernize.Corinna Vinschen2009-03-313-38/+35
| | | | (faq.api.symlinkstoppedworking): Move here from faq-api.xml.
* * ctype.cc: Remove implementation of ctype functions in favor ofCorinna Vinschen2009-03-316-822/+48
| | | | | | | | | | | | | | | pointer-based newlib implementation. (_ctype_b): Declare. (__ctype_cp): Move to newlib. Declare. (__ctype_iso): Ditto. (__set_ctype): Implement changing __ctype_ptr__. Only copy character class data in applications built under older Cygwin. * cygwin.din (__ctype_ptr__): Export. * include/ctype.h: Remove in favor of newlib implementation. * include/cygwin/config.h (__EXPORT): Define alongside __IMPORT. * include/cygwin/version.h (CYGWIN_VERSION_CHECK_FOR_OLD_CTYPE): Define check for old vs. new ctype implementation. Bump API minor number.
* * libc/ctype/Makefile.am: Remove _tolower.c and _toupper.cCorinna Vinschen2009-03-3113-91/+1141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | source files. Add a dependency rule for ctype_o to note changes in ctype_iso.h and ctype_cp.h. * libc/ctype/Makefile.in: Regenerate. * libc/ctype/_tolower.c: Remove file. * libc/ctype/_toupper.c: Remove file. * libc/ctype/ctype_.c: Make sure ALLOW_NEGATIVE_CTYPE_INDEX is always defined on Cygwin. (_ctype_b): Don't make `static const' on Cygwin. (ctype_iso.h): Include if _MB_EXTENDED_CHARSETS_ISO is set. (ctype_cp.h): Include if _MB_EXTENDED_CHARSETS_WINDOWS is set. (__ctype_ptr): Drop definition. (__ctype_ptr__): De-constify. Mark as __EXPORT symbol. (_ctype_): Add Cygwin-specifc asm define. (__set_ctype): New function to set __ctype_ptr__ according to current charset. * libc/ctype/ctype_cp.h: New file containing Windows codepage specific character class tables. * libc/ctype/ctype_iso.h: New file containing ISO-8859-x specific character class tables. * libc/ctype/tolower.c (tolower): Reimplement to support any singlebyte charset if one of the extended charsets is enabled. * libc/ctype/toupper.c (toupper): Ditto. * libc/include/ctype.h (_tolower): Define as macro per POSIX. (_toupper): Ditto. (__ctype_ptr__): De-constify. (toupper): Disable macro on systems supporting extended charsets. (tolower): Ditto. * libc/include/sys/config.h (__EXPORT): Define empty if not defined. * libc/locale/locale.c (__mb_cur_max): Mark as __EXPORT symbol. (__set_ctype): Declare unconditionally. (loadlocale): Remove __CYGWIN__ guard around __set_ctype call.
* * faq-using.xml (faq.using.bloda): Update with new entries.Dave Korn2009-03-302-2/+20
|
* * Makefile.in: Perform some minor cleanup. Revamp speclib handling.Christopher Faylor2009-03-283-97/+60
| | | | | * speclib: Rewrite to create libraries with dlltool rather than attempting surgery on libcygwin.a.
* * net.cc (inet_ntop6): Convert to lowercase hex digits on the fly.Corinna Vinschen2009-03-272-1/+10
|
* * net.cc (cygwin_getaddrinfo): Check hints for non-NULL beforeCorinna Vinschen2009-03-272-0/+6
| | | | checking its content.
* * fhandler.h (class fhandler_fifo): Rename read/write methods toCorinna Vinschen2009-03-273-4/+10
| | | | | raw_read/raw_write. * fhandler_fifo.cc: Ditto.
* * djunpack.bat: Use ".." quoting in Sed command, for the sake ofEli Zaretskii2009-03-272-1/+6
| | | | Windows builds of Sed.
* * syscalls.cc (pathconf): Fix memory leak.Corinna Vinschen2009-03-272-5/+11
|
* * README: Remove "How to use" section, as CYGWIN="server" isCorinna Vinschen2009-03-272-32/+5
| | | | no longer required.
* * utils.sgml (passwd -R): Remove references to CYGWIN="server".Corinna Vinschen2009-03-272-7/+7
|
* * cygwinenv.sgml: Add text to explain new UTF-16 symlinks.Corinna Vinschen2009-03-267-17/+67
| | | | | | | | | | * faq-api.xml: Add FAQ entry "Why do some of my old symlinks don't work anymore?" * new-features.sgml: Fix symlink text. Add new UTF-16 symlinks. * overview2.sgml: Add text about new UTF-16 symlinks and potential problems with old symlinks. * pathnames.sgml: Fix typo. * setup2.sgml: Extend text about problems with symlinks.
* * path.cc (symlink_worker): Write target filename as UTF-16 stringCorinna Vinschen2009-03-262-10/+46
| | | | | | | with leading BOM marker. (symlink_info::check_shortcut): If check for leading BOM marker succeeds, read filename as UTF-16 string. (symlink_info::check_sysfile): Ditto.
* * include/asm/byteorder.h (__ntohl): Align definition to ISO C99.Corinna Vinschen2009-03-262-5/+13
| | | | (__ntohs): Ditto.
* * new-features.sgml: Replace GB2312 with GBK.Corinna Vinschen2009-03-263-2/+7
| | | | * setup2.sgml: Ditto.
* * strfuncs.cc (__set_charset_from_codepage): Revert to translatingCorinna Vinschen2009-03-262-2/+7
| | | | codepage 936 to "GBK".
* * libc/locale/locale.c (loadlocale): Revert to charset "GBK" insteadCorinna Vinschen2009-03-262-2/+7
| | | | of "GB2312". Fix documentation accordingly.
* Revert erroneously checked in files.Corinna Vinschen2009-03-263-36/+23
|
* * libc/ctype/ctype_.c (_CTYPE_DATA_0_127): Mark TAB as blank character.Corinna Vinschen2009-03-264-2/+13
| | | | | | * libc/ctype/isblank.c: Replace hardcoded test with test for having _B marker in ctype array. * libc/include/ctype.h (isblank): Add macro.
* 2009-03-25 Craig Howland <howland@LGSInnovations.com>Jeff Johnston2009-03-253-47/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libc/include/math.h: (llround, llroundf): Declare. * libm/common/s_llround.c: New file, implementing llround(). * libm/common/sf_llround.c: New file, implementing llroundf(). * libm/common/sf_lround.c: Remove spurious cast in _DOUBLE_IS_32BITS version of function. * libm/common/sf_lrint.c: Ditto. * libm/common/sf_logb.c: Corrected return for subnormal argument by replacing existing function with a version created from sf_ilogb.c. * libm/common/s_logb.c: Ditto, except starting point s_ilogb.c. Also added documentation for logb() and logbf(). * libm/common/s_signbit.c: Add signbit() documentation. * libm/common/s_log2.c: Update return values to match what w_log2.c has, since log2 uses log(); add note about being derived instead of direct. * libm/common/sf_fma.c: Add casts to attempt to get correct results, as well as comments pointing out problems with the implementation. * libm/common/s_fma.c: Add fma() and fmaf() documentation. * libm/common/sf_remquo.c: Incorrect quotient returns for large values corrected by discarding existing function and replacing with Sun verion, with some enhancements. * libm/common/s_remquo.c: Ditto. Add remquo() and remquof() documentation. * libm/common/s_fmax.c: Add fmax() and fmaxf() documentation. * libm/common/s_fmin.c: Add fmin() and fminf() documentation. * libm/common/s_fdim.c: Return NAN for NAN arg, add fdim() and fdimf() documentation. * libm/common/sf_fdim.c: Return NAN for NAN arg, HUGE_VALF for inf arg. * libm/common/s_trunc.c: Add trunc() and truncf() documentation. * libm/common/s_rint.c: Add rint() and rintf() documentation. * libm/common/s_round.c: Add round() and roundf() documentation. * libm/common/s_scalbn.c: Add scalbln() and scalblnf() documentation. * libm/common/s_infinity.c: Add infinity() and infinityf() documentation. * libm/common/s_lround.c: Add lround(), lroundf(), llround(), and llroundf() documentation. * libm/common/s_lrint.c: Add lrint(), lrintf(), llrint(), and llrintf() documentation. * libm/common/isgreater.c: New file for documenting math.h function-like macros isgreater(), isgreaterequal(), isless(), islessequal(), islessgreater(), and isunordered(). * libm/common/s_isnan.c: Add documentation for function-like macros fpclassify(), isfinite(), isinf(), isnan(), and isnormal(). * libm/common/s_nearbyint.c: Add nearbyint() and nearbyintf() documentation. * libm/common/Makefile.am: Add s_llround.c (src); sf_llround.c (fsrc); s_fdim.def, s_fma.def, s_fmax.def, s_fmin.def, s_logb.def, s_lrint.def, s_lround.def, s_nearbyint.def, s_remquo.def, s_rint.def, s_round.def, s_signbit.def, s_trunc.def, and isgreater.def (chobj); re-name all existing chew files (chobj) to match source file base names (put in underscores), delete all special targets for chew files (leaving all to be generated by rule). * libm/common/Makefile.in: regenerate. * libm/math/w_exp2.c: Add "base 2" to documentation description (and delete TRAD_SYNOPSIS). * libm/math/w_gamma.c: Add tgamma() and tgammaf() documentation, along with some history behind the function names. * libm/math/math.tex: Add includes for newly-added documentation (see .def additions to common/Makefile.am and math/Makefile.am in this ChangeLog list), adjusted existing .def file names to match source file base names (added underscores); add mention of HUGE_VALF; rename "Version of library" section to "Error Handling" and add some text about floating-point exception; added section "Standards Compliance And Portability". * libm/math/Makefile.am: Add w_exp2.def (chobj); re-name all existing chew files (chobj) to match source file base names, delete all special targets for chew files (leaving all to be generated by rule). * libm/math/Makefile.in: regenerated * doc/makedoc.c: Change silent ignoring of commands < 5 characters to a failure when reading macro file for commands < 4 characters; add -v (verbose) option for printing some debugging information; get rid of spurious translation of "@*" to "*" (no source files used @*, so no existing doc pages were affected); clean up some compiler warnings. * doc/doc.str: add BUGS and SEEALSO sections (to match texi2pod.pl which has them); Remove ITEM command (redundant with makedoc built-in "o", not used in any present source file so nothing is lost, anyway). * HOWTO: New file to hold information for maintainers regarding how to do things. Initial sections on documentation and ELIX levels.
* 2009-03-25 Craig Howland <howland@LGSInnovations.com>Jeff Johnston2009-03-2535-655/+1454
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libc/include/math.h: (llround, llroundf): Declare. * libm/common/s_llround.c: New file, implementing llround(). * libm/common/sf_llround.c: New file, implementing llroundf(). * libm/common/sf_lround.c: Remove spurious cast in _DOUBLE_IS_32BITS version of function. * libm/common/sf_lrint.c: Ditto. * libm/common/sf_logb.c: Corrected return for subnormal argument by replacing existing function with a version created from sf_ilogb.c. * libm/common/s_logb.c: Ditto, except starting point s_ilogb.c. Also added documentation for logb() and logbf(). * libm/common/s_signbit.c: Add signbit() documentation. * libm/common/s_log2.c: Update return values to match what w_log2.c has, since log2 uses log(); add note about being derived instead of direct. * libm/common/sf_fma.c: Add casts to attempt to get correct results, as well as comments pointing out problems with the implementation. * libm/common/s_fma.c: Add fma() and fmaf() documentation. * libm/common/sf_remquo.c: Incorrect quotient returns for large values corrected by discarding existing function and replacing with Sun verion, with some enhancements. * libm/common/s_remquo.c: Ditto. Add remquo() and remquof() documentation. * libm/common/s_fmax.c: Add fmax() and fmaxf() documentation. * libm/common/s_fmin.c: Add fmin() and fminf() documentation. * libm/common/s_fdim.c: Return NAN for NAN arg, add fdim() and fdimf() documentation. * libm/common/sf_fdim.c: Return NAN for NAN arg, HUGE_VALF for inf arg. * libm/common/s_trunc.c: Add trunc() and truncf() documentation. * libm/common/s_rint.c: Add rint() and rintf() documentation. * libm/common/s_round.c: Add round() and roundf() documentation. * libm/common/s_scalbn.c: Add scalbln() and scalblnf() documentation. * libm/common/s_infinity.c: Add infinity() and infinityf() documentation. * libm/common/s_lround.c: Add lround(), lroundf(), llround(), and llroundf() documentation. * libm/common/s_lrint.c: Add lrint(), lrintf(), llrint(), and llrintf() documentation. * libm/common/isgreater.c: New file for documenting math.h function-like macros isgreater(), isgreaterequal(), isless(), islessequal(), islessgreater(), and isunordered(). * libm/common/s_isnan.c: Add documentation for function-like macros fpclassify(), isfinite(), isinf(), isnan(), and isnormal(). * libm/common/s_nearbyint.c: Add nearbyint() and nearbyintf() documentation. * libm/common/Makefile.am: Add s_llround.c (src); sf_llround.c (fsrc); s_fdim.def, s_fma.def, s_fmax.def, s_fmin.def, s_logb.def, s_lrint.def, s_lround.def, s_nearbyint.def, s_remquo.def, s_rint.def, s_round.def, s_signbit.def, s_trunc.def, and isgreater.def (chobj); re-name all existing chew files (chobj) to match source file base names (put in underscores), delete all special targets for chew files (leaving all to be generated by rule). * libm/common/Makefile.in: regenerate. * libm/math/w_exp2.c: Add "base 2" to documentation description (and delete TRAD_SYNOPSIS). * libm/math/w_gamma.c: Add tgamma() and tgammaf() documentation, along with some history behind the function names. * libm/math/math.tex: Add includes for newly-added documentation (see .def additions to common/Makefile.am and math/Makefile.am in this ChangeLog list), adjusted existing .def file names to match source file base names (added underscores); add mention of HUGE_VALF; rename "Version of library" section to "Error Handling" and add some text about floating-point exception; added section "Standards Compliance And Portability". * libm/math/Makefile.am: Add w_exp2.def (chobj); re-name all existing chew files (chobj) to match source file base names, delete all special targets for chew files (leaving all to be generated by rule). * libm/math/Makefile.in: regenerated * doc/makedoc.c: Change silent ignoring of commands < 5 characters to a failure when reading macro file for commands < 4 characters; add -v (verbose) option for printing some debugging information; get rid of spurious translation of "@*" to "*" (no source files used @*, so no existing doc pages were affected); clean up some compiler warnings. * doc/doc.str: add BUGS and SEEALSO sections (to match texi2pod.pl which has them); Remove ITEM command (redundant with makedoc built-in "o", not used in any present source file so nothing is lost, anyway). * HOWTO: New file to hold information for maintainers regarding how to do things. Initial sections on documentation and ELIX levels.
* 2009-03-25 Richard Earnshaw <rearnsha@arm.com>Jeff Johnston2009-03-252-6/+33
| | | | | * libc/machine/arm/strcmp.c (strcmp_unaligned): Correctly detect the nul-byte in a big-endian string.
* 2009-03-25 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2009-03-254-15/+26
| | | | | | | * libc/string/wcsdup.c: Fix documentation error. * libc/string/Makefile.am: Fix CHEWOUT files to contain wcsdup.def rather than wcsdup. * libc/string/Makefile.in: Regenerated.
* * pathnames.sgml: Add a note that ASCII SO handling isn't foolproofCorinna Vinschen2009-03-252-1/+11
| | | | under all circumstances.
* * strfuncs.cc (sys_wcstombs): Don't convert ASCII SO into twoCorinna Vinschen2009-03-252-3/+7
| | | | ASCII SO's.
* * libc/locale/locale.c (loadlocale): Only change __wctomb and __mbtowcCorinna Vinschen2009-03-252-24/+36
| | | | pointers if category is LC_CTYPE.
* * environ.cc (environ_init): Break from locale loop after first hit.Corinna Vinschen2009-03-253-2/+29
| | | | | * fhandler_console.cc (fhandler_console::write_normal): Print a SO sequence using always valid Unicode chars.
* * new-features.sgml: Add missing GB2312 and eucKR character sets.Corinna Vinschen2009-03-255-11/+352
| | | | | | | | | | * pathnames.sgml: Change "DOS devices" title to "Invalid filenames" and rephrase that section. Add section "Filenames with unusual (foreign) characters". Fix an emphasis. * setup-net.sgml: Integrate setup-locale section. * setup2.sgml: Add locale variables to section "Environment Variables". Add section "Internationalization".
* * strfuncs.cc (__kr_wctomb): Use codepage 51949 rather than 50949.Corinna Vinschen2009-03-252-5/+12
| | | | | | (__kr_mbtowc): Ditto. (__set_charset_from_codepage): Ditto. Translate codepage 936 to "GB2312" and drop the charset name "GBK".
* * libc/locale/locale.c (loadlocale): Rename charset "GBK" toCorinna Vinschen2009-03-252-3/+8
| | | | "GB2312". Fix documentation accordingly.
* * strfuncs.cc (__kr_wctomb): Use codepage 50949 rather than 949.Corinna Vinschen2009-03-242-4/+12
| | | | | | (__kr_mbtowc): Ditto. (__set_charset_from_codepage): Translate codepages 949 and 50949 to "EUCKR" and drop the charset name "CP949".
* * libc/locale/locale.c (loadlocale): Rename charset "CP949" toCorinna Vinschen2009-03-242-24/+35
| | | | "eucKR". Fix documentation accordingly.
* * libc/locale/locale.c (loadlocale): Allow charset starting with 'e'Corinna Vinschen2009-03-242-0/+6
| | | | for "eucJP" charset support.
* * strfuncs.cc (sys_cp_mbstowcs): Don't read beyond src + nms.Corinna Vinschen2009-03-242-1/+6
|
* 2009-03-24 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2009-03-242-1/+6
| | | | | * libc/include/sys/errno.h: Move EFTYPE to general usage because it is used in libc/search.
* * new-features.sgml: Add section about chaged (no)winsymlink default.Corinna Vinschen2009-03-242-0/+8
|
* * shared_info.h (CURR_SHARED_MAGIC): Update.Corinna Vinschen2009-03-242-1/+5
|
* * cygcheck.cc (dump_sysinfo): Fix compiler warning in printf.Corinna Vinschen2009-03-244-3/+8
| | | | | * strace.cc (proc_child): Ditto. * ldd.cc: Remove now useless undef wcscasecmp.
* * wchar.h: Replace UINT with unsigned int.Corinna Vinschen2009-03-242-1/+5
|
* * wchar.h: Remove erroneous "C" specifier from extern declaration.Corinna Vinschen2009-03-242-10/+15
|
* * cygwinenv.sgml: Move "codepage:xxx" to the removed options section.Corinna Vinschen2009-03-243-28/+39
| | | | | Change text accordingly. * new-features.sgml: Try to explain new way to define character sets.
* * ctype.cc (_CTYPE_DATA_0_127): Add _B class to TAB character.Corinna Vinschen2009-03-2414-315/+1336
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (__ctype_default): New character class array for default ASCII character set. (__ctype_iso): New array of character class array for ISO charsets. (__ctype_cp): Ditto for singlebyte Windows codepages. (tolower): Implement as distinct function to support any singlebyte charset. (toupper): Ditto. (__set_ctype): New function to copy singlebyte character classes corresponding to current charset to ctype_b array. Align copyright text to upstream. * dcrt0.cc (dll_crt0_1): Reset current locale to "C" per POSIX. * environ.cc (set_file_api_mode): Remove. (codepage_init): Remove. (parse_thing): Remove "codepage" setting. (environ_init): Set locale according to environment settings, or to current codepage, before converting environment to multibyte. * fhandler.h (fhandler_console::write_replacement_char): Drop argument. * fhandler_console.cc (dev_console::str_to_con): Call sys_cp_mbstowcs rather than MultiByteToWideChar. (fhandler_console::write_replacement_char): Always print a funny half filled square if a character isn't in the current charset. (fhandler_console::write_normal): Convert to using __mbtowc rather than next_char. * fork.cc (frok::child): Drop call to set_file_api_mode. * globals.cc (enum codepage_type) Remove. (current_codepage): Remove. * miscfuncs.cc (cygwin_wcslwr): Unused, dangerous. Remove. (cygwin_wcsupr): Ditto. (is_cp_multibyte): Remove. (next_char): Remove. * miscfuncs.h (is_cp_multibyte): Drop declaration. (next_char): Ditto. * strfuncs.cc (get_cp): Remove. (__db_wctomb): New function to implement _wctomb_r functionality for doublebyte charsets using WideCharToMultiByte. (__sjis_wctomb): New function to replace unusable newlib function. (__jis_wctomb): Ditto. (__eucjp_wctomb): Ditto. (__gbk_wctomb): New function. (__kr_wctomb): Ditto. (__big5_wctomb): Ditto. (__db_mbtowc): New function to implement _mbtowc_r functionality for doublebyte charsets using MultiByteToWideChar. (__sjis_mbtowc): New function to replace unusable newlib function. (__jis_mbtowc): Ditto. (__eucjp_mbtowc): Ditto. (__gbk_mbtowc): New function. (__kr_mbtowc): New function (__big5_mbtowc): New function (__set_charset_from_codepage): New function. (sys_wcstombs): Reimplement, basically using same wide char to multibyte conversion as newlib's application level functions. Plus extras. Add lengthy comment to explain. Change return type to size_t. (sys_wcstombs_alloc): Just use sys_wcstombs. Change return type to size_t. (sys_cp_mbstowcs): Replace sys_mbstowcs, take additional codepage argument. Explain why. Change return type to size_t. (sys_mbstowcs_alloc): Just use sys_mbstowcs. Change return type to size_t. * wchar.h: Declare internal functions implemented in strfuncs.cc. (wcscasecmp): Remove. (wcsncasecmp): Remove. (wcslwr): Remove. (wcsupr): Remove. * winsup.h (codepage_init): Remove declaration. (get_cp): Ditto. (sys_wcstombs): Align declaration to new implementation. (sys_wcstombs_alloc): Ditto. (sys_cp_mbstowcs): Add declaration. (sys_mbstowcs): Define as inline function. (sys_mbstowcs_alloc): Align declaration to new implementation. (set_file_api_mode): Remove declaration. * include/ctype.h (isblank): Redefine to use _B character class. (toupper): Remove ASCII-only definition. (tolower): Ditto.
* * sec_auth.cc (str2buf2uni): Remove.Corinna Vinschen2009-03-243-14/+5
| | | | * security.h (str2buf2uni): Remove declaration.
* * libc/ctype/iswalpha.c: Handle all wchar_t as unicode onCorinna Vinschen2009-03-2422-2196/+3361
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | _MB_CAPABLE systems. * libc/ctype/iswblank.c: Ditto. * libc/ctype/iswcntrl.c: Ditto. * libc/ctype/iswprint.c: Ditto. * libc/ctype/iswpunct.c: Ditto. * libc/ctype/iswspace.c: Ditto. * libc/ctype/jp2uc.c (__jp2uc): On Cygwin, just return c. Explain why. * libc/ctype/towlower.c: Ditto. * libc/ctype/towupper.c: Ditto. * libc/include/sys/config.h: Define _MB_EXTENDED_CHARSETS_ISO and _MB_EXTENDED_CHARSETS_WINDOWS if _MB_EXTENDED_CHARSETS_ALL is defined. Define _MB_EXTENDED_CHARSETS_ALL on Cygwin only for now. * libc/include/sys/reent.h (struct _reent): Mark _current_category and _current_locale as unused. * libc/locale/locale.c: Add new charset support to documentation. Include ../stdio/local.h from here. (lc_ctype_charset): Set to "ASCII" by default. (lc_message_charset): Ditto. (_setlocale_r): Don't set _current_category and _current_locale. (loadlocale): Add Cygwin codepage support. On _MB_CAPABLE systems, set __mbtowc and __wctomb function pointers to function corresponding with current charset. Don't allow non-existant ISO-8859-12 charset. Add support for Windows singlebyte codepages. On Cygwin, add support for GBK, CP949, and BIG5. On Cygwin, call __set_ctype() in case the catorgy is LC_CTYPE. Don't set _current_category and _current_locale. * libc/stdlib/Makefile.am (GENERAL_SOURCES): Add sb_charsets.c. * libc/stdlib/Makefile.in: Regenerate. * libc/stdlib/local.h: Add prototype for __locale_charset. Add prototypes for __mbtowc and __wctomb pointers. Add prototypes for charset-specific _wctomb_r and _mbtowc_r functions. Declare tables and functions from sb_charsets.c. * libc/stdlib/mbtowc_r.c (__mbtowc): Define. Set to __ascii_mbtowc by default. (_mbtowc_r): Just call __mbtowc from here. (__ascii_mbtowc): New function. (__iso_mbtowc): New function. (__cp_mbtowc): New function. (__utf8_mbtowc): New function. (__sjis_mbtowc): New function. Disable on Cygwin. (__eucjp_mbtowc): New function. Disable on Cygwin. (__jis_mbtowc): New function. Disable on Cygwin. * libc/stdlib/sb_charsets.c: New file, adding singlebyte to UTF conversion tables for all ISO and CP charsets. (__iso_8859_index): New function. (__cp_index): New function. * libc/stdlib/wctomb_r.c (__wctomb): Define. Set to __ascii_wctomb by default. (_wctomb_r): Just call __wctomb from here. (__ascii_wctomb): New function. (__utf8_wctomb): New function. (__sjis_wctomb): New function. Disable on Cygwin. (__eucjp_wctomb): New function. Disable on Cygwin. (__jis_wctomb): New function. Disable on Cygwin. (__iso_wctomb): New function. (__cp_wctomb): New function.