mirror of
https://github.com/coreutils/coreutils.git
synced 2024-12-05 07:54:07 +08:00
Include locale.h.
[!HAVE_SETLOCALE]: Define-away setlocale. (getloadavg): Ensure the sscanf of /proc/getloadavg data uses the `C' numeric locale. Restore afterwards.
This commit is contained in:
parent
62b3fd4e81
commit
a12101a224
@ -98,8 +98,14 @@
|
|||||||
extern int errno;
|
extern int errno;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef HAVE_GETLOADAVG
|
#if HAVE_LOCALE_H
|
||||||
|
# include <locale.h>
|
||||||
|
#endif
|
||||||
|
#if !HAVE_SETLOCALE
|
||||||
|
# define setlocale(Category, Locale) /* empty */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef HAVE_GETLOADAVG
|
||||||
|
|
||||||
/* The existing Emacs configuration files define a macro called
|
/* The existing Emacs configuration files define a macro called
|
||||||
LOAD_AVE_CVT, which accepts a value of type LOAD_AVE_TYPE, and
|
LOAD_AVE_CVT, which accepts a value of type LOAD_AVE_TYPE, and
|
||||||
@ -638,8 +644,11 @@ getloadavg (loadavg, nelem)
|
|||||||
if (count <= 0)
|
if (count <= 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
/* The following sscanf must use the C locale. */
|
||||||
|
setlocale (LC_NUMERIC, "C");
|
||||||
count = sscanf (ldavgbuf, "%lf %lf %lf",
|
count = sscanf (ldavgbuf, "%lf %lf %lf",
|
||||||
&load_ave[0], &load_ave[1], &load_ave[2]);
|
&load_ave[0], &load_ave[1], &load_ave[2]);
|
||||||
|
setlocale (LC_NUMERIC, "");
|
||||||
if (count < 1)
|
if (count < 1)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user