[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 01/01: i18n: Check for non-POSIX strtol_l.
From: |
Mark H. Weaver |
Subject: |
[Guile-commits] 01/01: i18n: Check for non-POSIX strtol_l. |
Date: |
Fri, 19 Jun 2015 20:08:08 +0000 |
mhw pushed a commit to branch stable-2.0
in repository guile.
commit ed0c14769acda3134fde3737a3c17e68b49f6259
Author: Natanael Copa <address@hidden>
Date: Mon Jun 15 10:05:41 2015 +0200
i18n: Check for non-POSIX strtol_l.
* configure.ac: Check for strtol_l.
* libguile/i18n.c: Check HAVE_STRTOL_L before using strtol_l.
---
configure.ac | 5 +++--
libguile/i18n.c | 2 +-
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index d3a27eb..bfc3701 100644
--- a/configure.ac
+++ b/configure.ac
@@ -752,6 +752,7 @@ AC_CHECK_HEADERS([assert.h crt_externs.h])
# isblank - available as a GNU extension or in C99
# _NSGetEnviron - Darwin specific
# strcoll_l, newlocale, uselocale, utimensat - POSIX.1-2008
+# strtol_l - non-POSIX, found in glibc
# fork - unavailable on Windows
# sched_getaffinity, sched_setaffinity - GNU extensions (glibc)
# sendfile - non-POSIX, found in glibc
@@ -765,8 +766,8 @@ AC_CHECK_FUNCS([DINFINITY DQNAN cexp chsize clog clog10
ctermid \
strdup system usleep atexit on_exit chown link fcntl ttyname getpwent
\
getgrent kill getppid getpgrp fork setitimer getitimer strchr strcmp \
index bcopy memcpy rindex truncate unsetenv isblank _NSGetEnviron \
- strcoll strcoll_l newlocale uselocale utimensat sched_getaffinity \
- sched_setaffinity sendfile])
+ strcoll strcoll_l strtol_l newlocale uselocale utimensat \
+ sched_getaffinity sched_setaffinity sendfile])
# Reasons for testing:
# netdb.h - not in mingw
diff --git a/libguile/i18n.c b/libguile/i18n.c
index f0e3443..17e9eca 100644
--- a/libguile/i18n.c
+++ b/libguile/i18n.c
@@ -1373,7 +1373,7 @@ SCM_DEFINE (scm_locale_string_to_integer,
"locale-string->integer",
if (c_locale != NULL)
{
-#ifdef USE_GNU_LOCALE_API
+#if defined(USE_GNU_LOCALE_API) && defined(HAVE_STRTOL_L)
c_result = strtol_l (c_str, &c_endptr, c_base, c_locale);
#else
RUN_IN_LOCALE_SECTION (c_locale,