[Freeswitch-svn] [commit] r8876 - freeswitch/trunk/src
Freeswitch SVN
mikej at freeswitch.org
Tue Jul 1 13:49:01 EDT 2008
Author: mikej
Date: Tue Jul 1 13:49:01 2008
New Revision: 8876
Modified:
freeswitch/trunk/src/switch_ivr_async.c
Log:
allows the "eavesdrop_group" variable to contain several groups, comma separated. (MODAPP-101)
Modified: freeswitch/trunk/src/switch_ivr_async.c
==============================================================================
--- freeswitch/trunk/src/switch_ivr_async.c (original)
+++ freeswitch/trunk/src/switch_ivr_async.c Tue Jul 1 13:49:01 2008
@@ -528,8 +528,30 @@
if (!switch_strlen_zero(require_group)) {
+ int argc, i;
+ int ok = 0;
+ char *argv[10] = { 0 };
+ char *data;
+
const char *group_name = switch_channel_get_variable(tchannel, "eavesdrop_group");
- if (!group_name || strcmp(group_name, require_group)) {
+ /* If we don't have a group, then return */
+ if (!group_name) {
+ status = SWITCH_STATUS_BREAK;
+ goto end;
+ }
+ /* Separate the group */
+ data = strdup(group_name);
+ if ( (argc = switch_separate_string(data, ',', argv, (sizeof(argv) / sizeof(argv[0])))) ) {
+ for ( i = 0; i < argc; i++ ) {
+ /* If one of the group matches, then ok */
+ if ( !strcmp(argv[i], require_group)) {
+ ok = 1;
+ }
+ }
+ }
+ switch_safe_free(data);
+ /* If we didn't find any match, then end */
+ if ( !ok ) {
status = SWITCH_STATUS_BREAK;
goto end;
}
More information about the Freeswitch-svn
mailing list