X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Futils_cmd_putval.c;h=ec2b5f876795b53f2faec5c5ddc6104d7c0679a3;hb=83d47bfa3295f837c3fa3fa3e31855a236d43530;hp=639b8ab1b432b526d7c1815bc86bd9c05c551aa5;hpb=a3529866c3d98643d7857d2d0ad751c73f312c4e;p=collectd.git diff --git a/src/utils_cmd_putval.c b/src/utils_cmd_putval.c index 639b8ab1..ec2b5f87 100644 --- a/src/utils_cmd_putval.c +++ b/src/utils_cmd_putval.c @@ -1,6 +1,6 @@ /** * 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 @@ -36,56 +36,12 @@ 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); - - i = 0; - dummy = value_str; - saveptr = NULL; - while ((ptr = strtok_r (dummy, ":", &saveptr)) != NULL) - { - dummy = NULL; + int status; - if (i >= vl->values_len) - { - i = vl->values_len + 1; - break; - } - - if (strcmp (ptr, "U") == 0) - 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); - - 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); }