our mbrtowc(3) is not in conformance to POSIX specification
opengroup's specfication says:
If s is a null pointer, the mbrtowc() function shall be equivalent to the call: mbrtowc(NULL, "", 1, ps)
but our implementation force to initialize the mbstate_t(=ps) incorrectly.
Comments (9)
-
reporter -
reporter - changed status to resolved
BUGFIX: Issue
#11-- our mbrtowc(3) is not in conformance to POSIX specification.→ <<cset 702f891f6f34>>
-
reporter - changed status to open
reopen, citrus_none.c is still have problem.
-
reporter - changed status to resolved
BUGFIX: Issue
#11(reopen) -- our mbrtowc(3) is not in conformance to POSIX specification.→ <<cset 2ae74018e5a9>>
-
reporter - changed status to open
reopen, this fix causes sysinstall trouble, sysinstall don't show any chatacter after setect language and call setlocale(3) internally.
-
reporter this sysinstall bug introduced by _fixup_ps() change. the _RuneLocale embedded in mbstate_t is not same as current locale, raise EINVAL.
but this change give impact on some i18n'ed application/library(ex. sysinstall/libcurses). so i simply change:
- don't throw EINVAL.
- initialize mbstate_t silently.
-
reporter - changed status to resolved
BUGFIX: Issue
#11our mbrtowc(3) is not in conformance to POSIX specification.previous fix causes sysinstall trouble, sysinstall don't show any chatacters after setect language and call setlocale(3) internally.
this sysinstall bug introduced by _fixup_ps() change. the _RuneLocale embedded in mbstate_t is not same as current locale, raise EINVAL.
but this change give impact on some i18n'ed application/library(ex. sysinstall/libcurses). so i simply change:
- don't throw EINVAL.
- initialize mbstate_t silently.
→ <<cset f0187947a8b4>>
-
reporter Issue
#104was marked as a duplicate of this issue. -
reporter - changed status to closed
- Log in to comment
oops, i forgot to add spec's link: http://pubs.opengroup.org/onlinepubs/009695399/functions/mbrtowc.html