X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fcontextswitch.c;h=06055ca59372299616a6f8b1bf105d30e34760f4;hb=c6da31fb30c2fb1d131f92efcde0b3ec9a010b2c;hp=b53b5740bd6358ff21a739b59a71a283da0c4980;hpb=a497509bc0a06065759a6d4e43497b75a2c9ecb8;p=collectd.git diff --git a/src/contextswitch.c b/src/contextswitch.c index b53b5740..06055ca5 100644 --- a/src/contextswitch.c +++ b/src/contextswitch.c @@ -27,7 +27,7 @@ # error "No applicable input method." #endif -static void cs_submit (unsigned long context_switches) +static void cs_submit (derive_t context_switches) { value_t values[1]; value_list_t vl = VALUE_LIST_INIT; @@ -49,7 +49,7 @@ static int cs_read (void) char buffer[64]; int numfields; char *fields[3]; - unsigned long result = 0; + derive_t result = 0; int status = -2; fh = fopen ("/proc/stat", "r"); @@ -64,18 +64,15 @@ static int cs_read (void) char *endptr; numfields = strsplit(buffer, fields, STATIC_ARRAY_SIZE (fields)); - if (numfields != 2) { - ERROR ("contextswitch plugin: ctxt in /proc/stat " - "contains more than 2 fields."); + if (numfields != 2) continue; - } if (strcmp("ctxt", fields[0]) != 0) continue; errno = 0; endptr = NULL; - result = strtoul(fields[1], &endptr, 10); + result = (derive_t) strtoll (fields[1], &endptr, /* base = */ 10); if ((endptr == fields[1]) || (errno != 0)) { ERROR ("contextswitch plugin: Cannot parse ctxt value: %s", fields[1]);