switch_core_session_t *session;
int32_t idx;
uint32_t hups;
- char file[512];
- char error_file[512];
+ char *file;
+ char *error_file;
int confirm_timeout;
char key[80];
uint8_t early_ok;
if (status != SWITCH_STATUS_SUCCESS && status != SWITCH_STATUS_BREAK && status != SWITCH_STATUS_TOO_SMALL) {
- switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(collect->session), SWITCH_LOG_ERROR, "%s Error Playing File!",
+ switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(collect->session), SWITCH_LOG_ERROR, "%s Error Playing File!\n",
switch_channel_get_name(channel));
switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
}
oglobals.ringback_ok = 1;
oglobals.bridge_early_media = -1;
+ oglobals.file = NULL;
+ oglobals.error_file = NULL;
switch_core_new_memory_pool(&oglobals.pool);
if (caller_profile_override) {
if ((var = switch_event_get_header(var_event, "group_confirm_key"))) {
switch_copy_string(oglobals.key, var, sizeof(oglobals.key));
if ((var = switch_event_get_header(var_event, "group_confirm_file"))) {
- switch_copy_string(oglobals.file, var, sizeof(oglobals.file));
+ oglobals.file = strdup(var);
}
if ((var = switch_event_get_header(var_event, "group_confirm_error_file"))) {
- switch_copy_string(oglobals.error_file, var, sizeof(oglobals.error_file));
+ oglobals.error_file = strdup(var);
}
if ((var = switch_event_get_header(var_event, "group_confirm_read_timeout"))) {
int tmp = atoi(var);
}
}
- if ((*oglobals.file != '\0') && (!strcmp(oglobals.file, "undef"))) {
- *oglobals.file = '\0';
+ if ((!zstr(oglobals.file)) && (!strcmp(oglobals.file, "undef"))) {
+ switch_safe_free(oglobals.file);
+ oglobals.file = NULL;
}
-
- if ((*oglobals.error_file != '\0') && (!strcmp(oglobals.error_file, "undef"))) {
- *oglobals.error_file = '\0';
+ if ((!zstr(oglobals.error_file)) && (!strcmp(oglobals.error_file, "undef"))) {
+ switch_safe_free(oglobals.error_file);
+ oglobals.error_file = NULL;
}
if ((var_val = switch_event_get_header(var_event, "bridge_early_media"))) {
done:
+ switch_safe_free(oglobals.file);
+ switch_safe_free(oglobals.error_file);
+
*cause = SWITCH_CAUSE_NONE;
if (caller_channel && !switch_channel_ready(caller_channel)) {
outer_for:
switch_safe_free(loop_data);
switch_safe_free(odata);
+ switch_safe_free(oglobals.file);
+ switch_safe_free(oglobals.error_file);
if (bleg && status != SWITCH_STATUS_SUCCESS) {
*bleg = NULL;