]> granicus.if.org Git - procps-ng/commitdiff
Replace %Lu with standard %llu
authorCraig Small <csmall@enc.com.au>
Thu, 14 Apr 2016 11:21:27 +0000 (21:21 +1000)
committerCraig Small <csmall@enc.com.au>
Thu, 14 Apr 2016 11:21:27 +0000 (21:21 +1000)
Multiple scanf()s use the GNU-permitted %Lu. This is not supported in
other libraries and isn't to the POSIX specification. The L modifier
is only used for floats in POSIX.

Replacing %Lu with %llu is the same for GNU libc (scanf(3) says as much)
but means other libraries will work fine.

From master commit da715e3

References:
 http://pubs.opengroup.org/onlinepubs/009695399/functions/fscanf.html

proc/readproc.c
proc/readstat.c

index 380047f222265d5fd8b2e033f553b51c077fde44..cebb22530f72d549376ad06a9848bda9e7e7d9ca 100644 (file)
@@ -543,11 +543,11 @@ ENTER(0x160);
        "%c "
        "%d %d %d %d %d "
        "%lu %lu %lu %lu %lu "
-       "%Lu %Lu %Lu %Lu "  /* utime stime cutime cstime */
+       "%llu %llu %llu %llu "  /* utime stime cutime cstime */
        "%ld %ld "
        "%d "
        "%ld "
-       "%Lu "  /* start_time */
+       "%llu "  /* start_time */
        "%lu "
        "%ld "
        "%lu %"KLF"u %"KLF"u %"KLF"u %"KLF"u %"KLF"u "
index 4d06a6b79ecc54c215f1e44ad52d9d9dc3dbda8a..46c1196f398d8d1eba3af1bb656165da408cb942 100644 (file)
@@ -131,7 +131,7 @@ PROCPS_EXPORT int procps_stat_read (
             break;
         *tail = '\0';
         if (0 == strcmp(head, "cpu")) {
-            if (sscanf(tail+1, "%Lu %Lu %Lu %Lu %Lu %Lu %Lu %Lu %Lu %Lu",
+            if (sscanf(tail+1, "%llu %llu %llu %llu %llu %llu %llu %llu %llu %llu",
                 &(info->data.cpu.user),
                 &(info->data.cpu.nice),
                 &(info->data.cpu.system),
@@ -390,7 +390,7 @@ PROCPS_EXPORT int procps_stat_read_jiffs (
     // remember from last time around
     memcpy(&sum_ptr->cpu.old, &sum_ptr->cpu.new, sizeof(struct procps_jiffs));
     // then value the summary line
-    if (8 > sscanf(bp, "cpu %Lu %Lu %Lu %Lu %Lu %Lu %Lu %Lu %Lu %Lu"
+    if (8 > sscanf(bp, "cpu %llu %llu %llu %llu %llu %llu %llu %llu %llu %llu"
         , &sum_ptr->cpu.new.user,  &sum_ptr->cpu.new.nice,   &sum_ptr->cpu.new.system
         , &sum_ptr->cpu.new.idle,  &sum_ptr->cpu.new.iowait, &sum_ptr->cpu.new.irq
         , &sum_ptr->cpu.new.sirq,  &sum_ptr->cpu.new.stolen
@@ -405,7 +405,7 @@ reap_em_again:
         bp = 1 + strchr(bp, '\n');
         // remember from last time around
         memcpy(&cpu_ptr->cpu.old, &cpu_ptr->cpu.new, sizeof(struct procps_jiffs));
-        if (8 > (rc = sscanf(bp, "cpu%d %Lu %Lu %Lu %Lu %Lu %Lu %Lu %Lu %Lu %Lu"
+        if (8 > (rc = sscanf(bp, "cpu%d %llu %llu %llu %llu %llu %llu %llu %llu %llu %llu"
             , &cpu_ptr->cpu.id
             , &cpu_ptr->cpu.new.user,  &cpu_ptr->cpu.new.nice,   &cpu_ptr->cpu.new.system
             , &cpu_ptr->cpu.new.idle,  &cpu_ptr->cpu.new.iowait, &cpu_ptr->cpu.new.irq