OSDN Git Service

2009-08-25 Andy Koppe <andy.koppe@gmail.com>
authorjjohnstn <jjohnstn>
Tue, 25 Aug 2009 18:47:24 +0000 (18:47 +0000)
committerjjohnstn <jjohnstn>
Tue, 25 Aug 2009 18:47:24 +0000 (18:47 +0000)
        * libc/stdlib/sb_charsets.c (__micro_atoi): Allow five-digit codepage
        numbers.
        * libc/locale/locale.c (loadlocale): Set MB_CUR_MAX to 1 for KOI8
        charsets.
        * libc/stdlib/local.h (__cp_conv): Remove incorrect number of codepages.

newlib/ChangeLog
newlib/libc/locale/locale.c
newlib/libc/stdlib/local.h
newlib/libc/stdlib/sb_charsets.c

index 779c9b9..3405b82 100644 (file)
@@ -1,3 +1,11 @@
+2009-08-25  Andy Koppe  <andy.koppe@gmail.com>
+
+       * libc/stdlib/sb_charsets.c (__micro_atoi): Allow five-digit codepage
+       numbers.
+       * libc/locale/locale.c (loadlocale): Set MB_CUR_MAX to 1 for KOI8
+       charsets.
+       * libc/stdlib/local.h (__cp_conv): Remove incorrect number of codepages.
+
 2009-08-24  Corinna Vinschen  <corinna@vinschen.de>
 
        * libc/locale/locale.c: Update documentation.
index 19159fb..a01b312 100644 (file)
@@ -624,6 +624,7 @@ loadlocale(struct _reent *p, int category)
        strcpy (charset, "CP21866");
       else
        return NULL;
+      mbc_max = 1;
 #ifdef _MB_CAPABLE
 #ifdef _MB_EXTENDED_CHARSETS_WINDOWS
       l_wctomb = __cp_wctomb;
index 93a3b4b..12e6998 100644 (file)
@@ -60,7 +60,7 @@ int __big5_mbtowc (struct _reent *, wchar_t *, const char *, size_t,
 extern wchar_t __iso_8859_conv[14][0x60];
 int __iso_8859_index (const char *);
 
-extern wchar_t __cp_conv[12][0x80];
+extern wchar_t __cp_conv[][0x80];
 int __cp_index (const char *);
 
 #endif
index 03c9206..dce4855 100644 (file)
@@ -625,7 +625,7 @@ __micro_atoi (const char *s)
     return -1;
   while (*s)
     {
-      if (*s < '0' || *s > '9' || ret >= 10000)
+      if (*s < '0' || *s > '9' || ret >= 100000)
        return -1;
       ret = 10 * ret + (*s++ - '0');
     }