]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Cleanup default option value handling for cdr.conf [general].
authorRussell Bryant <russell@russellbryant.com>
Thu, 5 Aug 2010 13:11:32 +0000 (13:11 +0000)
committerRussell Bryant <russell@russellbryant.com>
Thu, 5 Aug 2010 13:11:32 +0000 (13:11 +0000)
The default values would differ depending on whether or not cdr.conf exists.
That is no longer the case.

Apply a default value to the unanswered option.

Define all default values as named constants.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@281051 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/cdr.c

index 24a12a5e6cf9cd8f4b190fccd039b14196655081..a7a096a35523e11571bc1c8b500fadfa4f36029d 100644 (file)
@@ -78,18 +78,26 @@ static struct sched_context *sched;
 static int cdr_sched = -1;
 static pthread_t cdr_thread = AST_PTHREADT_NULL;
 
-#define BATCH_SIZE_DEFAULT 100
-#define BATCH_TIME_DEFAULT 300
-#define BATCH_SCHEDULER_ONLY_DEFAULT 0
-#define BATCH_SAFE_SHUTDOWN_DEFAULT 1
+static int enabled;
+static const int ENABLED_DEFAULT = 1;
 
-static int enabled;            /*! Is the CDR subsystem enabled ? */
-static int unanswered;
 static int batchmode;
+static const int BATCHMODE_DEFAULT = 0;
+
+static int unanswered;
+static const int UNANSWERED_DEFAULT = 0;
+
 static int batchsize;
+static const int BATCH_SIZE_DEFAULT = 100;
+
 static int batchtime;
+static const int BATCH_TIME_DEFAULT = 300;
+
 static int batchscheduleronly;
+static const int BATCH_SCHEDULER_ONLY_DEFAULT = 0;
+
 static int batchsafeshutdown;
+static const int BATCH_SAFE_SHUTDOWN_DEFAULT = 1;
 
 AST_MUTEX_DEFINE_STATIC(cdr_batch_lock);
 
@@ -1409,22 +1417,27 @@ static int do_reload(int reload)
        int res=0;
        struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 };
 
-       if ((config = ast_config_load2("cdr.conf", "cdr", config_flags)) == CONFIG_STATUS_FILEUNCHANGED)
-               return 0;
-       if (config == CONFIG_STATUS_FILEMISSING || config == CONFIG_STATUS_FILEUNCHANGED || config == CONFIG_STATUS_FILEINVALID) {
+       if ((config = ast_config_load2("cdr.conf", "cdr", config_flags)) == CONFIG_STATUS_FILEUNCHANGED) {
                return 0;
        }
 
        ast_mutex_lock(&cdr_batch_lock);
 
+       was_enabled = enabled;
+       was_batchmode = batchmode;
+
        batchsize = BATCH_SIZE_DEFAULT;
        batchtime = BATCH_TIME_DEFAULT;
        batchscheduleronly = BATCH_SCHEDULER_ONLY_DEFAULT;
        batchsafeshutdown = BATCH_SAFE_SHUTDOWN_DEFAULT;
-       was_enabled = enabled;
-       was_batchmode = batchmode;
-       enabled = 1;
-       batchmode = 0;
+       enabled = ENABLED_DEFAULT;
+       batchmode = BATCHMODE_DEFAULT;
+       unanswered = UNANSWERED_DEFAULT;
+
+       if (config == CONFIG_STATUS_FILEMISSING || config == CONFIG_STATUS_FILEINVALID) {
+               ast_mutex_unlock(&cdr_batch_lock);
+               return 0;
+       }
 
        /* don't run the next scheduled CDR posting while reloading */
        AST_SCHED_DEL(sched, cdr_sched);