提交 2d85726e authored 作者: Kathleen King's avatar Kathleen King

Fixed dead code.

While reviewing code I noticed some dead code. It was not possible to
default to the channel variable because the parameter could not be
both full and empty.

If the parameter is not a non zero length string then the code looked
like it was intending to default to the channel variable
'presence_data_cols'. If neither of these are the case it is a noop.

By enabling the dead code, you now have access to set the
'presence_data_cols' in the dialplan or scripts like lua.
上级 85699480
...@@ -1336,32 +1336,30 @@ SWITCH_DECLARE(switch_status_t) switch_channel_transfer_variable_prefix(switch_c ...@@ -1336,32 +1336,30 @@ SWITCH_DECLARE(switch_status_t) switch_channel_transfer_variable_prefix(switch_c
SWITCH_DECLARE(void) switch_channel_set_presence_data_vals(switch_channel_t *channel, const char *presence_data_cols) SWITCH_DECLARE(void) switch_channel_set_presence_data_vals(switch_channel_t *channel, const char *presence_data_cols)
{ {
if (!zstr(presence_data_cols)) { char *cols[128] = { 0 };
char *cols[128] = { 0 }; char header_name[128] = "";
char header_name[128] = ""; int col_count = 0, i = 0;
int col_count = 0, i = 0; char *data_copy = NULL;
char *data_copy = NULL;
if (zstr(presence_data_cols)) {
presence_data_cols = switch_channel_get_variable_dup(channel, "presence_data_cols", SWITCH_FALSE, -1);
if (zstr(presence_data_cols)) { if (zstr(presence_data_cols)) {
presence_data_cols = switch_channel_get_variable_dup(channel, "presence_data_cols", SWITCH_FALSE, -1); return;
if (zstr(presence_data_cols)) {
return;
}
} }
}
data_copy = strdup(presence_data_cols);
col_count = switch_split(data_copy, ':', cols); data_copy = strdup(presence_data_cols);
for (i = 0; i < col_count; i++) { col_count = switch_split(data_copy, ':', cols);
const char *val = NULL;
switch_snprintf(header_name, sizeof(header_name), "PD-%s", cols[i]); for (i = 0; i < col_count; i++) {
val = switch_channel_get_variable(channel, cols[i]); const char *val = NULL;
switch_channel_set_profile_var(channel, header_name, val); switch_snprintf(header_name, sizeof(header_name), "PD-%s", cols[i]);
} val = switch_channel_get_variable(channel, cols[i]);
switch_channel_set_profile_var(channel, header_name, val);
switch_safe_free(data_copy);
} }
switch_safe_free(data_copy);
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论