# include "config.h"
#endif
-#include "libcollectdclient/client.h"
-
-#include <assert.h>
+#ifndef _ISOC99_SOURCE
+# define _ISOC99_SOURCE
+#endif
-#include <errno.h>
+#ifndef _POSIX_C_SOURCE
+# define _POSIX_C_SOURCE 200112L
+#endif
-#include <getopt.h>
+#ifndef _XOPEN_SOURCE
+# define _XOPEN_SOURCE 600
+#endif
-#include <stdio.h>
#include <stdlib.h>
+#include <unistd.h>
+#include <stdio.h>
#include <string.h>
+#include <strings.h>
+
+#include <assert.h>
+#include <errno.h>
+#include <math.h>
+
+#include "libcollectdclient/client.h"
-#include <unistd.h>
#define DEFAULT_SOCK LOCALSTATEDIR"/run/"PACKAGE_NAME"-unixsock"
if (strcasecmp (key, "timeout") == 0) {
char *endptr = NULL;
- timeout = strtol (value, &endptr, 0);
+ timeout = (int) strtol (value, &endptr, 0);
if (endptr == value) {
fprintf (stderr, "ERROR: Failed to parse timeout as number: %s.\n",
}
}
else if (strcasecmp (key, "plugin") == 0) {
- status = array_grow ((void **)&plugins, &plugins_num,
+ status = array_grow ((void *)&plugins, &plugins_num,
sizeof (*plugins));
if (status != 0)
BAIL_OUT (status);
plugins[plugins_num - 1] = value;
}
else if (strcasecmp (key, "identifier") == 0) {
- status = array_grow ((void **)&identifiers, &identifiers_num,
+ status = array_grow ((void *)&identifiers, &identifiers_num,
sizeof (*identifiers));
if (status != 0)
BAIL_OUT (status);
}
if (plugins_num == 0) {
- status = array_grow ((void **)&plugins, &plugins_num, sizeof (*plugins));
+ status = array_grow ((void *)&plugins, &plugins_num, sizeof (*plugins));
if (status != 0)
BAIL_OUT (status);
vl.time = strtol (argv[i], &endptr, 0);
- if (endptr == value) {
+ if (endptr == argv[i]) {
fprintf (stderr, "ERROR: Failed to parse time as number: %s.\n",
argv[i]);
return (-1);
* anyway. Also, lcc uses the type information for formatting the
* number only, so the real meaning does not matter. -tokkee */
dot = strchr (value, (int)'.');
- if (dot) { /* floating point value */
+ endptr = NULL;
+ if (strcasecmp (value, "U") == 0) {
+ values[values_len].gauge = NAN;
+ values_types[values_len] = LCC_TYPE_GAUGE;
+ }
+ else if (dot) { /* floating point value */
values[values_len].gauge = strtod (value, &endptr);
values_types[values_len] = LCC_TYPE_GAUGE;
}