projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rrdtool plugin: Make sure "cache_timeout + random_variation" dosn't get negative.
[collectd.git]
/
src
/
irq.c
diff --git
a/src/irq.c
b/src/irq.c
index
986efaf
..
401cc6f
100644
(file)
--- a/
src/irq.c
+++ b/
src/irq.c
@@
-85,9
+85,7
@@
static int irq_config (const char *key, const char *value)
}
else if (strcasecmp (key, "IgnoreSelected") == 0)
{
}
else if (strcasecmp (key, "IgnoreSelected") == 0)
{
- if ((strcasecmp (value, "True") == 0)
- || (strcasecmp (value, "Yes") == 0)
- || (strcasecmp (value, "On") == 0))
+ if (IS_TRUE (value))
irq_list_action = 1;
else
irq_list_action = 0;
irq_list_action = 1;
else
irq_list_action = 0;
@@
-151,8
+149,8
@@
static int irq_read (void)
FILE *fh;
char buffer[BUFSIZE];
unsigned int irq;
FILE *fh;
char buffer[BUFSIZE];
unsigned int irq;
- unsigned
int
irq_value;
- long value;
+ unsigned
long long
irq_value;
+
unsigned long
long value;
char *endptr;
int i;
char *endptr;
int i;
@@
-182,7
+180,7
@@
static int irq_read (void)
for (i = 1; i < fields_num; i++)
{
errno = 0;
for (i = 1; i < fields_num; i++)
{
errno = 0;
- value = strtol (fields[i], &endptr, 10);
+ value = strto
ul
l (fields[i], &endptr, 10);
if ((*endptr != '\0') || (errno != 0))
break;
if ((*endptr != '\0') || (errno != 0))
break;
@@
-190,8
+188,10
@@
static int irq_read (void)
irq_value += value;
} /* for (i) */
irq_value += value;
} /* for (i) */
- irq_submit (irq, irq_value);
+ /* Force 32bit wrap-around */
+ irq_submit (irq, irq_value % 4294967296ULL);
}
}
+
fclose (fh);
return (0);
fclose (fh);
return (0);