projects
/
rrdtool.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
src/rrd_update.c: Set `rc' correctly when succeeding.
[rrdtool.git]
/
src
/
rrd_update.c
diff --git
a/src/rrd_update.c
b/src/rrd_update.c
index
e138cdb
..
ffbcebb
100644
(file)
--- a/
src/rrd_update.c
+++ b/
src/rrd_update.c
@@
-390,7
+390,7
@@
int rrd_update(
opterr = 0; /* initialize getopt */
while (1) {
opterr = 0; /* initialize getopt */
while (1) {
- opt = getopt_long(argc, argv, "t:
cn
d:", long_options, &option_index);
+ opt = getopt_long(argc, argv, "t:d:", long_options, &option_index);
if (opt == EOF)
break;
if (opt == EOF)
break;
@@
-430,6
+430,22
@@
int rrd_update(
goto out;
}
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;
if (daemon != NULL)
{
int status;
@@
-454,6
+470,10
@@
int rrd_update(
? "Internal error"
: rrd_strerror (status));
}
? "Internal error"
: rrd_strerror (status));
}
+ else
+ {
+ rc = 0;
+ }
rrdc_disconnect ();
goto out;
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) {
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;
}
free(arg_copy);
break;
}