X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrd_update.c;h=ffbcebb56dda96ea3ec4f1736a5ff01f32171284;hb=50afe234200b92cee92dafde94b578acb466be4f;hp=2602a824a729a2370176c10f27340514f38d2eab;hpb=b3d31f0e43261b99c5bfed82818cea971dd3017f;p=rrdtool.git diff --git a/src/rrd_update.c b/src/rrd_update.c index 2602a82..ffbcebb 100644 --- a/src/rrd_update.c +++ b/src/rrd_update.c @@ -430,6 +430,22 @@ int rrd_update( goto out; } + if ((tmplt == NULL) && (daemon == NULL)) + { + char *temp; + + temp = getenv (ENV_RRDCACHED_ADDRESS); + if (temp != NULL) + { + daemon = strdup (temp); + if (daemon == NULL) + { + rrd_set_error("strdup failed."); + goto out; + } + } + } + if (daemon != NULL) { int status; @@ -454,6 +470,10 @@ int rrd_update( ? "Internal error" : rrd_strerror (status)); } + else + { + rc = 0; + } rrdc_disconnect (); goto out; @@ -563,6 +583,15 @@ int _rrd_update( rra_step_cnt, updvals, tmpl_idx, tmpl_cnt, &pcdp_summary, version, skip_update, &schedule_smooth) == -1) { + if (rrd_test_error()) { /* Should have error string always here */ + char *save_error; + + /* Prepend file name to error message */ + if ((save_error = strdup(rrd_get_error())) != NULL) { + rrd_set_error("%s: %s", filename, save_error); + free(save_error); + } + } free(arg_copy); break; }