summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main/cdr.c8
-rw-r--r--main/pbx.c4
2 files changed, 4 insertions, 8 deletions
diff --git a/main/cdr.c b/main/cdr.c
index 00d66afec..929ebcef4 100644
--- a/main/cdr.c
+++ b/main/cdr.c
@@ -780,12 +780,8 @@ void ast_cdr_setapp(struct ast_cdr *cdr, char *app, char *data)
for (; cdr; cdr = cdr->next) {
if (!ast_test_flag(cdr, AST_CDR_FLAG_LOCKED)) {
check_post(cdr);
- if (!app)
- app = "";
- ast_copy_string(cdr->lastapp, app, sizeof(cdr->lastapp));
- if (!data)
- data = "";
- ast_copy_string(cdr->lastdata, data, sizeof(cdr->lastdata));
+ ast_copy_string(cdr->lastapp, S_OR(app, ""), sizeof(cdr->lastapp));
+ ast_copy_string(cdr->lastdata, S_OR(data, ""), sizeof(cdr->lastdata));
}
}
}
diff --git a/main/pbx.c b/main/pbx.c
index d790dddf1..3c42a6233 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -714,7 +714,7 @@ int pbx_exec(struct ast_channel *c, /*!< Channel */
const char *saved_c_appl;
const char *saved_c_data;
- if (c->cdr && !ast_check_hangup(c))
+ if (c->cdr && !ast_check_hangup(c))
ast_cdr_setapp(c->cdr, app->name, data);
/* save channel values */
@@ -725,7 +725,7 @@ int pbx_exec(struct ast_channel *c, /*!< Channel */
c->data = data;
if (app->module)
u = __ast_module_user_add(app->module, c);
- res = app->execute(c, data);
+ res = app->execute(c, S_OR(data, ""));
if (app->module && u)
__ast_module_user_remove(app->module, u);
/* restore channel values */