From 3a9760d1aea27a60cf558cf8998042acc455fd61 Mon Sep 17 00:00:00 2001 From: oetiker Date: Wed, 6 Feb 2008 00:10:33 +0000 Subject: [PATCH] * replaced strtok with strtok_r for thread safety * fixed im initialization broken after the introduction of dashes ... git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1279 a5681a0c-68f1-0310-ab6d-d61299d08faa --- src/rrd_graph.c | 3 +++ src/rrd_graph_helper.c | 13 +++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/rrd_graph.c b/src/rrd_graph.c index 8c11868..501db48 100644 --- a/src/rrd_graph.c +++ b/src/rrd_graph.c @@ -3450,6 +3450,9 @@ int gdes_alloc( im->gdes[im->gdes_c - 1].rpnp = NULL; im->gdes[im->gdes_c - 1].p_dashes = NULL; im->gdes[im->gdes_c - 1].shift = 0.0; + im->gdes[im->gdes_c - 1].dash = 0; + im->gdes[im->gdes_c - 1].ndash = 0; + im->gdes[im->gdes_c - 1].offset = 0; im->gdes[im->gdes_c - 1].col.red = 0.0; im->gdes[im->gdes_c - 1].col.green = 0.0; im->gdes[im->gdes_c - 1].col.blue = 0.0; diff --git a/src/rrd_graph_helper.c b/src/rrd_graph_helper.c index cac3d7a..44f2c17 100644 --- a/src/rrd_graph_helper.c +++ b/src/rrd_graph_helper.c @@ -791,13 +791,14 @@ int rrd_parse_PVHLAST( char csv[64]; char *pch; float dsh; - - strcpy(csv, tmpstr); int count = 0; + char *saveptr; - pch = strtok(tmpstr, ","); + strcpy(csv, tmpstr); + + pch = strtok_r(tmpstr, ",",&saveptr); while (pch != NULL) { - pch = strtok(NULL, ","); + pch = strtok_r(NULL, ",",&saveptr); count++; } dprintf("- %d dash value(s) found: ", count); @@ -805,7 +806,7 @@ int rrd_parse_PVHLAST( gdp->dash = 1; gdp->ndash = count; gdp->p_dashes = (double *) malloc(sizeof(double) * count); - pch = strtok(csv, ","); + pch = strtok_r(csv, ",",&saveptr); count = 0; while (pch != NULL) { if (sscanf(pch, "%f", &dsh)) { @@ -813,7 +814,7 @@ int rrd_parse_PVHLAST( dprintf("%.1f ", gdp->p_dashes[count]); count++; } - pch = strtok(NULL, ","); + pch = strtok_r(NULL, ",",&saveptr); } dprintf("\n"); } else -- 2.30.2