* libc/locale/lctype.c: Include <string.h> and "setlocale.h".
(_C_ctype_locale): Add braces to initializer. (__ctype_load_locale): Fix compiler warnings in non-Cygwin case. * libc/locale/nl_langinfo.c (nl_langinfo): Expose _NL_CTYPE_MB_CUR_MAX case only if __HAVE_LOCALE_INFO__ is defined.
This commit is contained in:
parent
ffa42cf6a0
commit
7edacc4997
@ -1,3 +1,11 @@
|
|||||||
|
2010-05-03 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* libc/locale/lctype.c: Include <string.h> and "setlocale.h".
|
||||||
|
(_C_ctype_locale): Add braces to initializer.
|
||||||
|
(__ctype_load_locale): Fix compiler warnings in non-Cygwin case.
|
||||||
|
* libc/locale/nl_langinfo.c (nl_langinfo): Expose _NL_CTYPE_MB_CUR_MAX
|
||||||
|
case only if __HAVE_LOCALE_INFO__ is defined.
|
||||||
|
|
||||||
2010-05-02 Corinna Vinschen <corinna@vinschen.de>
|
2010-05-02 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* libc/stdlib/wctob.c (wctob): Reorganize and fix WEOF check. Rename
|
* libc/stdlib/wctob.c (wctob): Reorganize and fix WEOF check. Rename
|
||||||
|
@ -22,8 +22,10 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
|
#include <string.h>
|
||||||
#include "lctype.h"
|
#include "lctype.h"
|
||||||
#include "ldpart.h"
|
#include "ldpart.h"
|
||||||
|
#include "setlocale.h"
|
||||||
|
|
||||||
#define LCCTYPE_SIZE (sizeof(struct lc_ctype_T) / sizeof(char *))
|
#define LCCTYPE_SIZE (sizeof(struct lc_ctype_T) / sizeof(char *))
|
||||||
|
|
||||||
@ -33,10 +35,11 @@ static const struct lc_ctype_T _C_ctype_locale = {
|
|||||||
"ASCII", /* codeset */
|
"ASCII", /* codeset */
|
||||||
numone /* mb_cur_max */
|
numone /* mb_cur_max */
|
||||||
#ifdef __HAVE_LOCALE_INFO_EXTENDED__
|
#ifdef __HAVE_LOCALE_INFO_EXTENDED__
|
||||||
, "0", "1", "2", "3", "4", /* outdigits */
|
,
|
||||||
"5", "6", "7", "8", "9",
|
{ "0", "1", "2", "3", "4", /* outdigits */
|
||||||
L"0", L"1", L"2", L"3", L"4", /* woutdigits */
|
"5", "6", "7", "8", "9" },
|
||||||
L"5", L"6", L"7", L"8", L"9"
|
{ L"0", L"1", L"2", L"3", L"4", /* woutdigits */
|
||||||
|
L"5", L"6", L"7", L"8", L"9" }
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -79,11 +82,11 @@ __ctype_load_locale(const char *name, void *f_wctomb, const char *charset,
|
|||||||
_ctype_using_locale = 0;
|
_ctype_using_locale = 0;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_ctype_locale.codeset = _ctype_locale_buf;
|
_ctype_locale.codeset = strcpy (_ctype_locale_buf, charset);
|
||||||
_ctype_locale.mb_cur_max = _ctype_locale_buf + _CTYPE_BUF_SIZE - 2;
|
char *mbc = _ctype_locale_buf + _CTYPE_BUF_SIZE - 2;
|
||||||
strcpy (_ctype_locale.codeset, charset);
|
mbc[0] = mb_cur_max;
|
||||||
_ctype_locale.mb_cur_max[0] = mb_cur_max;
|
mbc[1] = '\0';
|
||||||
_ctype_locale.mb_cur_max[1] = '\0';
|
_ctype_locale.mb_cur_max = mbc;
|
||||||
_ctype_using_locale = 1;
|
_ctype_using_locale = 1;
|
||||||
}
|
}
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
@ -412,9 +412,11 @@ do_codeset:
|
|||||||
case D_MD_ORDER: /* local extension */
|
case D_MD_ORDER: /* local extension */
|
||||||
ret = (char *) __get_current_time_locale()->md_order;
|
ret = (char *) __get_current_time_locale()->md_order;
|
||||||
break;
|
break;
|
||||||
|
#ifdef __HAVE_LOCALE_INFO__
|
||||||
case _NL_CTYPE_MB_CUR_MAX:
|
case _NL_CTYPE_MB_CUR_MAX:
|
||||||
ret = (char *) __get_current_ctype_locale()->mb_cur_max;
|
ret = (char *) __get_current_ctype_locale()->mb_cur_max;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
default:
|
default:
|
||||||
#ifdef __HAVE_LOCALE_INFO_EXTENDED__
|
#ifdef __HAVE_LOCALE_INFO_EXTENDED__
|
||||||
if (item > _NL_LOCALE_EXTENDED_FIRST_ENTRY
|
if (item > _NL_LOCALE_EXTENDED_FIRST_ENTRY
|
||||||
|
Loading…
x
Reference in New Issue
Block a user