diff --git a/src/rrd_flushcached.c b/src/rrd_flushcached.c
index fb9345b4ea8ee1382257c9ce567a2fe71840b121..93b0fb57b05f32d356d2afd6145974fd88b8dbdd 100644 (file)
--- a/src/rrd_flushcached.c
+++ b/src/rrd_flushcached.c
/* try to connect to rrdcached */
status = rrdc_connect(opt_daemon);
- if (opt_daemon) free(opt_daemon);
- if (status != 0) return status;
+ if (status != 0) goto out;
if (! rrdc_is_connected(opt_daemon))
{
"option to set an address on the command line or set the "
"\"%s\" environment variable.",
ENV_RRDCACHED_ADDRESS);
- return (-1);
+ status = -1;
+ goto out;
}
status = 0;
- for (int i = optind; i < argc; i++)
+ for (i = optind; i < argc; i++)
{
status = rrdc_flush(argv[i]);
if (status)
}
}
- return ((status == 0) ? 0 : -1);
+out:
+ if (opt_daemon) free(opt_daemon);
+
+ return status;
} /* int rrd_flush */
/*