char vname[MAX_VNAME_LEN + 10];
char *old_locale;
- old_locale = setlocale(LC_NUMERIC, NULL);
+ old_locale = strdup(setlocale(LC_NUMERIC, NULL));
setlocale(LC_NUMERIC, "C");
rpnp = NULL;
if ((rpnp = (rpnp_t *) rrd_realloc(rpnp, (++steps + 2) *
sizeof(rpnp_t))) == NULL) {
setlocale(LC_NUMERIC, old_locale);
+ free(old_locale);
return NULL;
}
else {
rrd_set_error("don't undestand '%s'",expr);
setlocale(LC_NUMERIC, old_locale);
+ free(old_locale);
free(rpnp);
return NULL;
}
expr++;
else {
setlocale(LC_NUMERIC, old_locale);
+ free(old_locale);
free(rpnp);
return NULL;
}
}
rpnp[steps + 1].op = OP_END;
setlocale(LC_NUMERIC, old_locale);
+ free(old_locale);
return rpnp;
}
if (rrd_xport
(argc - 1, &argv[1], &xxsize, &start, &end, &step, &col_cnt,
&legend_v, &data) == 0) {
- char *old_locale = setlocale(LC_NUMERIC,NULL);
+ char *old_locale = strdup(setlocale(LC_NUMERIC,NULL));
setlocale(LC_NUMERIC, "C");
row_cnt = (end - start) / step;
ptr = data;
printf("</%s>\n", ROOT_TAG);
}
setlocale(LC_NUMERIC, old_locale);
+ free(old_locale);
}
free(vtag);
#else