X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrd_create.c;h=48a4d8ff6650bbca3427f31f65ffac90d514d551;hb=c05cbd882ff8c3f9bdd1099cf5cb42ac08fae7a6;hp=3b57c9f4d270f71ff37a3547d7fe99ea749781f9;hpb=9e6dd6a7c7768d90a8f62d7379d3dfa361e3ad7f;p=rrdtool.git diff --git a/src/rrd_create.c b/src/rrd_create.c index 3b57c9f..48a4d8f 100644 --- a/src/rrd_create.c +++ b/src/rrd_create.c @@ -227,7 +227,7 @@ int rrd_create_r( rrd.stat_head->ds_cnt++; } else if (strncmp(argv[i], "RRA:", 4) == 0) { char *argvcopy; - char *tokptr; + char *tokptr = ""; size_t old_size = sizeof(rra_def_t) * (rrd.stat_head->rra_cnt); int row_cnt; @@ -675,6 +675,10 @@ int rrd_create_fn( rrd_t rrd_dn; unsigned rrd_flags = RRD_READWRITE | RRD_CREAT; + unkn_cnt = 0; + for (i = 0; i < rrd->stat_head->rra_cnt; i++) + unkn_cnt += rrd->stat_head->ds_cnt * rrd->rra_def[i].row_cnt; + if ((rrd_file_dn = rrd_open(file_name, rrd, rrd_flags)) == NULL) { rrd_set_error("creating '%s': %s", file_name, rrd_strerror(errno)); rrd_free2(rrd); @@ -779,10 +783,6 @@ int rrd_create_fn( for (i = 0; i < 512; ++i) unknown[i] = DNAN; - unkn_cnt = 0; - for (i = 0; i < rrd->stat_head->rra_cnt; i++) - unkn_cnt += rrd->stat_head->ds_cnt * rrd->rra_def[i].row_cnt; - while (unkn_cnt > 0) { if(rrd_write(rrd_file_dn, unknown, sizeof(rrd_value_t) * min(unkn_cnt, 512)) < 0) { @@ -799,6 +799,7 @@ int rrd_create_fn( return -1; } /* flush all we don't need out of the cache */ + rrd_init(&rrd_dn); if((rrd_file_dn = rrd_open(file_name, &rrd_dn, RRD_READONLY)) != NULL) { rrd_dontneed(rrd_file_dn, &rrd_dn);