projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'collectd-4.6' into collectd-4.7
[collectd.git]
/
src
/
utils_cmd_putval.c
diff --git
a/src/utils_cmd_putval.c
b/src/utils_cmd_putval.c
index
91b7016
..
826e1b0
100644
(file)
--- a/
src/utils_cmd_putval.c
+++ b/
src/utils_cmd_putval.c
@@
-1,6
+1,6
@@
/**
* collectd - src/utils_cms_putval.c
/**
* collectd - src/utils_cms_putval.c
- * Copyright (C) 2007
,2008
Florian octo Forster
+ * Copyright (C) 2007
-2009
Florian octo Forster
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
@@
-33,7
+33,7
@@
return -1; \
}
return -1; \
}
-static int
parse_value
(const data_set_t *ds, value_list_t *vl,
+static int
dispatch_values
(const data_set_t *ds, value_list_t *vl,
FILE *fh, char *buffer)
{
char *dummy;
FILE *fh, char *buffer)
{
char *dummy;
@@
-51,8
+51,6
@@
static int parse_value (const data_set_t *ds, value_list_t *vl,
*value_str = '\0'; value_str++;
vl->time = (time_t) atoi (time_str);
*value_str = '\0'; value_str++;
vl->time = (time_t) atoi (time_str);
- if (vl->time == 0)
- vl->time = time (NULL);
i = 0;
dummy = value_str;
i = 0;
dummy = value_str;
@@
-67,12
+65,13
@@
static int parse_value (const data_set_t *ds, value_list_t *vl,
break;
}
break;
}
- if (
strcmp (ptr, "U") == 0
)
+ if (
(strcmp (ptr, "U") == 0) && (ds->ds[i].type == DS_TYPE_GAUGE)
)
vl->values[i].gauge = NAN;
vl->values[i].gauge = NAN;
- else if (ds->ds[i].type == DS_TYPE_COUNTER)
- vl->values[i].counter = atoll (ptr);
- else if (ds->ds[i].type == DS_TYPE_GAUGE)
- vl->values[i].gauge = atof (ptr);
+ else if (0 != parse_value (ptr, &vl->values[i], ds->ds[i]))
+ {
+ print_to_socket (fh, "-1 Failed to parse value `%s'.\n", ptr);
+ return (-1);
+ }
i++;
} /* while (strtok_r) */
i++;
} /* while (strtok_r) */
@@
-81,7
+80,7
@@
static int parse_value (const data_set_t *ds, value_list_t *vl,
{
char identifier[128];
FORMAT_VL (identifier, sizeof (identifier), vl, ds);
{
char identifier[128];
FORMAT_VL (identifier, sizeof (identifier), vl, ds);
- ERROR ("cmd putval:
parse_value
: "
+ ERROR ("cmd putval:
dispatch_values
: "
"Number of values incorrect: "
"Got %i, expected %i. Identifier is `%s'.",
i, vl->values_len, identifier);
"Number of values incorrect: "
"Got %i, expected %i. Identifier is `%s'.",
i, vl->values_len, identifier);
@@
-93,7
+92,7
@@
static int parse_value (const data_set_t *ds, value_list_t *vl,
plugin_dispatch_values (vl);
return (0);
plugin_dispatch_values (vl);
return (0);
-} /* int
parse_value
*/
+} /* int
dispatch_values
*/
static int set_option (value_list_t *vl, const char *key, const char *value)
{
static int set_option (value_list_t *vl, const char *key, const char *value)
{
@@
-254,7
+253,7
@@
int handle_putval (FILE *fh, char *buffer)
}
assert (string != NULL);
}
assert (string != NULL);
- status =
parse_value
(ds, &vl, fh, string);
+ status =
dispatch_values
(ds, &vl, fh, string);
if (status != 0)
{
/* An error has already been printed. */
if (status != 0)
{
/* An error has already been printed. */