From 32fdcc00b2dd761e44687f021ec42ebdd0b1e7a5 Mon Sep 17 00:00:00 2001
From: Russell Bryant <russell@russellbryant.com>
Date: Sun, 21 Jun 2009 16:00:23 +0000
Subject: [PATCH] Standardize return values of load_config() so reload()
 doesn't report an error on success.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@202258 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 cdr/cdr_manager.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/cdr/cdr_manager.c b/cdr/cdr_manager.c
index bee4f50026..82f8a6e17c 100644
--- a/cdr/cdr_manager.c
+++ b/cdr/cdr_manager.c
@@ -64,12 +64,13 @@ static int load_config(int reload)
 	int newenablecdr = 0;
 
 	cfg = ast_config_load(CONF_FILE, config_flags);
-	if (cfg == CONFIG_STATUS_FILEUNCHANGED)
+	if (cfg == CONFIG_STATUS_FILEUNCHANGED) {
 		return 0;
+	}
 
 	if (cfg == CONFIG_STATUS_FILEINVALID) {
 		ast_log(LOG_ERROR, "Config file '%s' could not be parsed\n", CONF_FILE);
-		return 1;
+		return -1;
 	}
 
 	if (reload && customfields) {
@@ -83,7 +84,7 @@ static int load_config(int reload)
 		if (enablecdr)
 			ast_cdr_unregister(name);
 		enablecdr = 0;
-		return 0;
+		return -1;
 	}
 
 	while ( (cat = ast_category_browse(cfg, cat)) ) {
@@ -122,7 +123,7 @@ static int load_config(int reload)
 		ast_cdr_register(name, "Asterisk Manager Interface CDR Backend", manager_log);
 	enablecdr = newenablecdr;
 
-	return 1;
+	return 0;
 }
 
 static int manager_log(struct ast_cdr *cdr)
@@ -199,9 +200,9 @@ static int unload_module(void)
 
 static int load_module(void)
 {
-	/* Configuration file */
-	if (!load_config(0))
+	if (load_config(0)) {
 		return AST_MODULE_LOAD_DECLINE;
+	}
 
 	return AST_MODULE_LOAD_SUCCESS;
 }
-- 
GitLab