--- atol.c.orig 2003-05-20 15:23:24.000000000 -0700 +++ atol.c 2005-02-23 18:33:54.000000000 -0800 @@ -37,11 +37,22 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD: src/lib/libc/stdlib/atol.c,v 1.4 2002/03/22 21:53:09 obrien Exp $"); +#include "xlocale_private.h" + #include <stdlib.h> long atol(str) const char *str; { - return strtol(str, (char **)NULL, 10); + return strtol_l(str, (char **)NULL, 10, __current_locale()); +} + +long +atol_l(str, loc) + const char *str; + locale_t loc; +{ + /* no need to call NORMALIZE_LOCALE(loc) because strtol_l will */ + return strtol_l(str, (char **)NULL, 10, loc); }