strtouq.c.patch   [plain text]


--- strtouq.c.bsdnew	2009-11-13 14:11:52.000000000 -0800
+++ strtouq.c	2009-11-13 14:11:52.000000000 -0800
@@ -33,6 +33,8 @@ static char sccsid[] = "@(#)strtouq.c	8.
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD: src/lib/libc/stdlib/strtouq.c,v 1.12 2007/01/09 00:28:10 imp Exp $");
 
+#include "xlocale_private.h"
+
 #include <sys/types.h>
 
 #include <stdlib.h>
@@ -44,5 +46,13 @@ u_quad_t
 strtouq(const char *nptr, char **endptr, int base)
 {
 
-	return strtoull(nptr, endptr, base);
+	return strtoull_l(nptr, endptr, base, __current_locale());
+}
+
+u_quad_t
+strtouq_l(const char *nptr, char **endptr, int base, locale_t loc)
+{
+
+	/* no need to call NORMALIZE_LOCALE(loc) because strtoull_l will */
+	return strtoull_l(nptr, endptr, base, loc);
 }