#include <sys/types.h>
#include <signal.h>
#include <ctype.h>
+#include <stdbool.h>
#include <sys/stat.h>
#include <unistd.h>
#include <inttypes.h>
* Returns < 0 on errors, 0 if no config file is given and > 0 if the config
* file was read successfully.
*/
-static int parse_config_file(int override)
+static int parse_config_file(bool sighup)
{
int ret, config_file_exists;
char *config_file = get_config_file_name();
char *old_logfile_arg = NULL;
int old_daemon_given = 0;
- if (override) { /* SIGHUP */
+ if (sighup) {
if (conf.logfile_given)
old_logfile_arg = dss_strdup(conf.logfile_arg);
old_daemon_given = conf.daemon_given;
}
if (config_file_exists) {
struct cmdline_parser_params params;
- params.override = override;
+ params.override = sighup;
params.initialize = 0;
params.check_required = 1;
params.check_ambiguity = 0;
params.print_errors = 1;
- if (override) { /* invalidate all rsync options */
+ if (sighup) { /* invalidate all rsync options */
int i;
for (i = 0; i < conf.rsync_option_given; i++) {
ret = check_config();
if (ret < 0)
goto out;
- if (override) {
+ if (sighup) {
/* don't change daemon mode on SIGHUP */
conf.daemon_given = old_daemon_given;
close_log(logfile);
DSS_NOTICE_LOG(("SIGHUP, re-reading config\n"));
dump_dss_config("old");
- ret = parse_config_file(1);
+ ret = parse_config_file(true /* SIGHUP */);
if (ret < 0)
return ret;
dump_dss_config("reloaded");
cmdline_parser_ext(argc, argv, &conf, ¶ms); /* aborts on errors */
ret = parse_config_file(0);
+ ret = parse_config_file(false /* no SIGHUP */);
if (ret < 0)
goto out;
if (ret == 0) { /* no config file given */