From: Jim Meyering Date: Sun, 31 Jan 1999 16:54:00 +0000 (+0000) Subject: Include locale.h. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3679b7f3b2085dc75a3367015b9652978bfc519b;p=pspp Include locale.h. [!HAVE_SETLOCALE]: Define-away setlocale. (getloadavg): Ensure the sscanf of /proc/getloadavg data uses the `C' numeric locale. Restore afterwards. --- diff --git a/lib/getloadavg.c b/lib/getloadavg.c index 3d81bdd964..8acb58692d 100644 --- a/lib/getloadavg.c +++ b/lib/getloadavg.c @@ -98,8 +98,14 @@ extern int errno; #endif -#ifndef HAVE_GETLOADAVG +#if HAVE_LOCALE_H +# include +#endif +#if !HAVE_SETLOCALE +# define setlocale(Category, Locale) /* empty */ +#endif +#ifndef HAVE_GETLOADAVG /* The existing Emacs configuration files define a macro called LOAD_AVE_CVT, which accepts a value of type LOAD_AVE_TYPE, and @@ -638,8 +644,11 @@ getloadavg (loadavg, nelem) if (count <= 0) return -1; + /* The following sscanf must use the C locale. */ + setlocale (LC_NUMERIC, "C"); count = sscanf (ldavgbuf, "%lf %lf %lf", &load_ave[0], &load_ave[1], &load_ave[2]); + setlocale (LC_NUMERIC, ""); if (count < 1) return -1;