From 93b1f3ef2ccba57e670f9d49780cce81691f2f35 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 1 May 2013 10:19:57 -0600 Subject: [PATCH] repairs for when set_locale() always return NULL ... as it does on Android --- src/racket/src/string.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/racket/src/string.c b/src/racket/src/string.c index 77fbaeac5e..ebc823e6c2 100644 --- a/src/racket/src/string.c +++ b/src/racket/src/string.c @@ -27,6 +27,11 @@ #include "schvers.h" #include #include +#ifdef NO_ERRNO_GLOBAL +# define errno -1 +#else +# include +#endif #ifndef DONT_USE_LOCALE # include # ifdef MZ_NO_ICONV @@ -38,7 +43,6 @@ # endif # include # include -# include # ifdef MACOS_UNICODE_SUPPORT # include # include @@ -3847,7 +3851,7 @@ char *scheme_push_c_numeric_locale() #ifndef DONT_USE_LOCALE GC_CAN_IGNORE char *prev; prev = setlocale(LC_NUMERIC, NULL); - if (!strcmp(prev, "C")) + if (!prev || !strcmp(prev, "C")) return NULL; else return setlocale(LC_NUMERIC, "C");