summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 94bf600)
raw | patch | inline | side by side (parent: 94bf600)
author | Florian Forster <octo@huhu.verplant.org> | |
Wed, 1 Jul 2009 12:54:13 +0000 (14:54 +0200) | ||
committer | Florian Forster <octo@noris.net> | |
Wed, 1 Jul 2009 13:42:12 +0000 (15:42 +0200) |
src/utils_cmd_putval.c | patch | blob | history |
diff --git a/src/utils_cmd_putval.c b/src/utils_cmd_putval.c
index 826e1b0390fb53dbb7944a96bc5a29616edfded7..ec2b5f876795b53f2faec5c5ddc6104d7c0679a3 100644 (file)
--- a/src/utils_cmd_putval.c
+++ b/src/utils_cmd_putval.c
static int dispatch_values (const data_set_t *ds, value_list_t *vl,
FILE *fh, char *buffer)
{
- char *dummy;
- char *ptr;
- char *saveptr;
- int i;
-
- char *time_str = buffer;
- char *value_str = strchr (time_str, ':');
- if (value_str == NULL)
- {
- print_to_socket (fh, "-1 No time found.\n");
- return (-1);
- }
- *value_str = '\0'; value_str++;
-
- vl->time = (time_t) atoi (time_str);
+ int status;
- i = 0;
- dummy = value_str;
- saveptr = NULL;
- while ((ptr = strtok_r (dummy, ":", &saveptr)) != NULL)
- {
- dummy = NULL;
-
- if (i >= vl->values_len)
- {
- i = vl->values_len + 1;
- break;
- }
-
- if ((strcmp (ptr, "U") == 0) && (ds->ds[i].type == DS_TYPE_GAUGE))
- vl->values[i].gauge = NAN;
- 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) */
-
- if (i != vl->values_len)
+ status = parse_values (buffer, vl, ds);
+ if (status != 0)
{
- char identifier[128];
- FORMAT_VL (identifier, sizeof (identifier), vl, ds);
- ERROR ("cmd putval: dispatch_values: "
- "Number of values incorrect: "
- "Got %i, expected %i. Identifier is `%s'.",
- i, vl->values_len, identifier);
- print_to_socket (fh, "-1 Number of values incorrect: "
- "Got %i, expected %i.\n",
- i, vl->values_len);
+ print_to_socket (fh, "-1 Parsing the values string failed.\n");
return (-1);
}