(getloadavg): Always use C locale to parse /proc/loadavg.
authordrepper <drepper>
Mon, 31 Dec 2001 17:43:21 +0000 (17:43 +0000)
committerdrepper <drepper>
Mon, 31 Dec 2001 17:43:21 +0000 (17:43 +0000)
sysdeps/unix/sysv/linux/getloadavg.c

index 39b1433..e1a372c 100644 (file)
    02111-1307 USA.  */
 
 #include <errno.h>
-#include <unistd.h>
 #include <fcntl.h>
+#include <locale.h>
 #include <stdlib.h>
+#include <unistd.h>
 
 /* Put the 1 minute, 5 minute and 15 minute load averages
    into the first NELEM elements of LOADAVG.
@@ -53,8 +54,8 @@ getloadavg (double loadavg[], int nelem)
       for (i = 0; i < nelem; ++i)
        {
          char *endp;
-         loadavg[i] = strtod (p, &endp);
-         if (!endp || endp == p)
+         loadavg[i] = __strtod_l (p, &endp, &_nl_C_locobj);
+         if (endp == NULL || endp == p)
            /* This should not happen.  The format of /proc/loadavg
               must have changed.  Don't return with what we have,
               signal an error.  */