--- atoll.c.bsdnew 2009-11-13 14:11:47.000000000 -0800 +++ atoll.c 2009-11-13 14:11:47.000000000 -0800 @@ -30,11 +30,22 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD: src/lib/libc/stdlib/atoll.c,v 1.5 2007/01/09 00:28:09 imp Exp $"); +#include "xlocale_private.h" + #include <stdlib.h> long long atoll(str) const char *str; { - return strtoll(str, (char **)NULL, 10); + return strtoll_l(str, (char **)NULL, 10, __current_locale()); +} + +long long +atoll_l(str, loc) + const char *str; + locale_t loc; +{ + /* no need to call NORMALIZE_LOCALE(loc) because strtoll_l will */ + return strtoll_l(str, (char **)NULL, 10, loc); }