Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2009-08-25 22:47:24 +0400
committerJeff Johnston <jjohnstn@redhat.com>2009-08-25 22:47:24 +0400
commiteb9194f52c2008366326319582c7329550d4708e (patch)
tree8dc2b90eb8051b4a25eb82175b017933d88b7e29
parentc177980e756d448fb7a9afc9b814fa3da3cc7bb8 (diff)
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.
-rw-r--r--newlib/ChangeLog8
-rw-r--r--newlib/libc/locale/locale.c1
-rw-r--r--newlib/libc/stdlib/local.h2
-rw-r--r--newlib/libc/stdlib/sb_charsets.c2
4 files changed, 11 insertions, 2 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index 779c9b96f..3405b828b 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -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.
diff --git a/newlib/libc/locale/locale.c b/newlib/libc/locale/locale.c
index 19159fbca..a01b312f8 100644
--- a/newlib/libc/locale/locale.c
+++ b/newlib/libc/locale/locale.c
@@ -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;
diff --git a/newlib/libc/stdlib/local.h b/newlib/libc/stdlib/local.h
index 93a3b4b8e..12e6998c1 100644
--- a/newlib/libc/stdlib/local.h
+++ b/newlib/libc/stdlib/local.h
@@ -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
diff --git a/newlib/libc/stdlib/sb_charsets.c b/newlib/libc/stdlib/sb_charsets.c
index 03c92064c..dce4855d7 100644
--- a/newlib/libc/stdlib/sb_charsets.c
+++ b/newlib/libc/stdlib/sb_charsets.c
@@ -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');
}