aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xcdr.c14
-rwxr-xr-xlogger.c12
2 files changed, 18 insertions, 8 deletions
diff --git a/cdr.c b/cdr.c
index ee654173c..b433902ba 100755
--- 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"))
diff --git a/logger.c b/logger.c
index 9da8b62e7..f48296130 100755
--- 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, ...)