summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 3b8dcc6)
raw | patch | inline | side by side (parent: 3b8dcc6)
author | Florian Forster <octo@huhu.verplant.org> | |
Wed, 20 Jan 2010 17:09:28 +0000 (18:09 +0100) | ||
committer | Florian Forster <octo@huhu.verplant.org> | |
Wed, 20 Jan 2010 17:09:28 +0000 (18:09 +0100) |
src/swap.c | patch | blob | history |
diff --git a/src/swap.c b/src/swap.c
index 78bf87a38c99fd25469d9e775f4a2d0f495726e6..e467818db4ca01f65af8fd66eb0c7780d571fec3 100644 (file)
--- a/src/swap.c
+++ b/src/swap.c
char *fields[8];
int numfields;
- unsigned int old_kernel=0;
+ _Bool old_kernel=0;
derive_t swap_used = 0;
derive_t swap_cached = 0;
old_kernel = 1;
}
- if ( old_kernel )
- while (fgets (buffer, 1024, fh) != NULL)
- {
- if (strncasecmp (buffer, "page",4) == 0)
- {
- numfields = strsplit(buffer,fields,3);
- if ( numfields < 3 )
- continue;
- swap_in = (derive_t) atoll(fields[1]);
- swap_out = (derive_t) atoll(fields[2]);
- }
- }
- else
- while (fgets (buffer, 1024, fh) != NULL)
+ while (fgets (buffer, 1024, fh) != NULL)
+ {
+ numfields = strsplit (buffer, fields, STATIC_ARRAY_SIZE (fields));
+
+ if (!old_kernel)
{
- derive_t *val = NULL;
- if (strncasecmp (buffer, "pswpin", 6) == 0)
- val = &swap_in;
- else if (strncasecmp (buffer, "pswpout", 7) == 0)
- val = &swap_out;
- else
+ if (numfields != 2)
continue;
- numfields = strsplit (buffer, fields, 8);
-
- if (numfields < 2)
+ if (strcasecmp ("pswpin", fields[0]) != 0)
+ strtoderive (fields[1], &swap_in);
+ else if (strcasecmp ("pswpout", fields[0]) == 0)
+ strtoderive (fields[1], &swap_out);
+ }
+ else /* if (old_kernel) */
+ {
+ if (numfields != 3)
continue;
- *val = (derive_t) atoll (fields[1]);
+ if (strcasecmp ("page", fields[0]) == 0)
+ {
+ strtoderive (fields[1], &swap_in);
+ strtoderive (fields[2], &swap_out);
+ }
}
+ } /* while (fgets) */
if (fclose (fh))
{
swap_submit ("cached", swap_cached, DS_TYPE_GAUGE);
swap_submit ("in", swap_in, DS_TYPE_DERIVE);
swap_submit ("out", swap_out, DS_TYPE_DERIVE);
-
/* #endif KERNEL_LINUX */
#elif HAVE_LIBKSTAT