git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12989 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2009-04-10 21:37:17 +00:00
parent e4a513f073
commit 8570a2d719
2 changed files with 20 additions and 7 deletions

View File

@ -135,8 +135,13 @@ SWITCH_DECLARE(char *) switch_core_perform_permanent_strdup(const char *todup, c
switch_size_t len;
switch_assert(memory_manager.memory_pool != NULL);
if (!todup)
if (!todup) {
return NULL;
}
if (switch_strlen_zero(todup)) {
return SWITCH_BLANK_STRING;
}
#ifdef LOCK_MORE
#ifdef USE_MEM_LOCK
@ -229,6 +234,11 @@ SWITCH_DECLARE(char *) switch_core_perform_session_strdup(switch_core_session_t
if (!todup) {
return NULL;
}
if (switch_strlen_zero(todup)) {
return SWITCH_BLANK_STRING;
}
#ifdef LOCK_MORE
#ifdef USE_MEM_LOCK
switch_mutex_lock(memory_manager.mem_lock);
@ -264,6 +274,11 @@ SWITCH_DECLARE(char *) switch_core_perform_strdup(switch_memory_pool_t *pool, co
if (!todup) {
return NULL;
}
if (switch_strlen_zero(todup)) {
return SWITCH_BLANK_STRING;
}
#ifdef LOCK_MORE
#ifdef USE_MEM_LOCK
switch_mutex_lock(memory_manager.mem_lock);

View File

@ -1447,19 +1447,17 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_execute_exten(switch_core_se
session->stack_count++;
new_profile = switch_caller_profile_clone(session, profile);
new_profile->destination_number = switch_core_session_strdup(session, exten);
new_profile->destination_number = switch_core_strdup(new_profile->pool, exten);
if (!switch_strlen_zero(dialplan)) {
new_profile->dialplan = switch_core_session_strdup(session, dialplan);
new_profile->dialplan = switch_core_strdup(new_profile->pool, dialplan);
}
if (!switch_strlen_zero(context)) {
new_profile->context = switch_core_session_strdup(session, context);
new_profile->context = switch_core_strdup(new_profile->pool, context);
}
if (!(dpstr = switch_core_session_strdup(session, new_profile->dialplan))) {
abort();
}
dpstr = switch_core_session_strdup(session, new_profile->dialplan);
argc = switch_separate_string(dpstr, ',', dp, (sizeof(dp) / sizeof(dp[0])));
for (x = 0; x < argc; x++) {