Version 0.2.0 from FTP
authorMark Spencer <markster@digium.com>
Mon, 29 Jul 2002 22:40:07 +0000 (22:40 +0000)
committerMark Spencer <markster@digium.com>
Mon, 29 Jul 2002 22:40:07 +0000 (22:40 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@493 65c4cc65-6c06-0410-ace0-fbb531ad65f3

cdr.c
logger.c

diff --git a/cdr.c b/cdr.c
index ee65417..b433902 100755 (executable)
--- a/cdr.c
+++ b/cdr.c
@@ -193,7 +193,7 @@ int ast_cdr_init(struct ast_cdr *cdr, struct ast_channel *c)
 {
        char *chan;
        char *num, *name;
-       char tmp[AST_MAX_EXTENSION];
+       char tmp[AST_MAX_EXTENSION] = "";
        if (cdr) {
                chan = strlen(cdr->channel) ? cdr->channel : "<unknown>";
                if (strlen(cdr->channel)) 
@@ -214,7 +214,7 @@ int ast_cdr_init(struct ast_cdr *cdr, struct ast_channel *c)
                        strncpy(cdr->src, num, sizeof(cdr->src) - 1);
                }
                
-               if (c->state == AST_STATE_UP)
+               if (c->_state == AST_STATE_UP)
                        cdr->disposition = AST_CDR_ANSWERED;
                else
                        cdr->disposition = AST_CDR_NOANSWER;
@@ -271,6 +271,16 @@ char *ast_cdr_flags2str(int flag)
        return "Unknown";
 }
 
+int ast_cdr_setaccount(struct ast_channel *chan, char *account)
+{
+       struct ast_cdr *cdr = chan->cdr;
+
+       strncpy(chan->accountcode, account, sizeof(chan->accountcode) - 1);
+       if (cdr)
+               strncpy(cdr->accountcode, chan->accountcode, sizeof(cdr->accountcode) - 1);
+       return 0;
+}
+
 int ast_cdr_amaflags2int(char *flag)
 {
        if (!strcasecmp(flag, "default"))
index 9da8b62..f482961 100755 (executable)
--- a/logger.c
+++ b/logger.c
@@ -166,6 +166,7 @@ static void init_logger_chain(void)
                /* Gotta have at least one.  We'll make a NULL one */
                logfiles = make_logfile("ignore", "", -1);
        }
+       ast_destroy(cfg);
        ast_pthread_mutex_unlock(&loglock);
        
 
@@ -227,9 +228,7 @@ extern void ast_log(int level, char *file, int line, char *function, char *fmt,
        struct logfile *f;
 
        va_list ap;
-       va_start(ap, fmt);
        if (!option_verbose && !option_debug && (!level)) {
-               va_end(ap);
                return;
        }
        ast_pthread_mutex_lock(&loglock);
@@ -240,12 +239,14 @@ extern void ast_log(int level, char *file, int line, char *function, char *fmt,
                        /* Log events into the event log file, with a different format */
                        strftime(date, sizeof(date), "%b %e %T", tm);
                        fprintf(eventlog, "%s asterisk[%d]: ", date, getpid());
+                       va_start(ap, fmt);
                        vfprintf(eventlog, fmt, ap);
+                       va_end(ap);
                        fflush(eventlog);
                } else
                        /** Cannot use ast_log() from locked section of ast_log()!
                            ast_log(LOG_WARNING, "Unable to retrieve local time?\n"); **/
-                       fprintf(stderr, "ast_log: Unable to retrieve local time for %d?\n", t);
+                       fprintf(stderr, "ast_log: Unable to retrieve local time for %ld?\n", t);
        } else {
                if (logfiles) {
                        f = logfiles;
@@ -265,10 +266,10 @@ extern void ast_log(int level, char *file, int line, char *function, char *fmt,
                                                                                                                                term_color(tmp3, linestr, COLOR_BRWHITE, 0, sizeof(tmp3)),
                                                                                                                                term_color(tmp4, function, COLOR_BRWHITE, 0, sizeof(tmp4)));
                                        }
-                                       vfprintf(f->f, fmt, ap);
                                        va_start(ap, fmt);
-                                       fflush(f->f);
+                                       vfprintf(f->f, fmt, ap);
                                        va_end(ap);
+                                       fflush(f->f);
                                }
                                f = f->next;
                        }
@@ -281,7 +282,6 @@ extern void ast_log(int level, char *file, int line, char *function, char *fmt,
                }
        }
        ast_pthread_mutex_unlock(&loglock);
-       va_end(ap);
 }
 
 extern void ast_verbose(char *fmt, ...)