Fix a simple bug which caused the minus sign to be removed from the
sanitized output.
Signed-off-by: Timo Kokkonen <kaapeli@itanic.dy.fi>
{
char clean_data[RRD_DATA_MAX_LEN];
int entries = 0;
+ int minus;
char *src, *end, *cln;
data[RRD_DATA_MAX_LEN - 1] = 0;
cln = clean_data;
while (src < data + RRD_DATA_MAX_LEN && *src) {
- if (*src == '-')
+ minus = 0;
+ if (*src == '-') {
src++;
+ minus = 1;
+ }
end = skip_numbers(src);
}
if (*end == ':' || !*end) {
+ if (minus) {
+ *cln = '-';
+ cln++;
+ }
for (; src <= end; src++, cln++)
*cln = *src;