[Freeswitch-svn] [commit] r3896 - freeswitch/trunk/src/mod/applications/mod_conference

Freeswitch SVN anthm at freeswitch.org
Tue Jan 2 17:55:22 EST 2007


Author: anthm
Date: Tue Jan  2 17:55:21 2007
New Revision: 3896

Modified:
   freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c

Log:
fix conference stop bug

Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c	(original)
+++ freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c	Tue Jan  2 17:55:21 2007
@@ -2680,6 +2680,8 @@
     if (argc > 2) {
         current = strcasecmp(argv[2], "current") ? 0 : 1;
         all = strcasecmp(argv[2], "all") ? 0 : 1;
+    } else {
+        all = 1;
     }
 
     if (current || all) {
@@ -2987,7 +2989,7 @@
 	{"play", &conf_api_sub_play, CONF_API_SUB_ARGS_SPLIT, "<confname> play <file_path> [<member_id>]"}, 
 	{"say", &conf_api_sub_say, CONF_API_SUB_ARGS_AS_ONE, "<confname> say <text>"}, 
 	{"saymember", &conf_api_sub_saymember, CONF_API_SUB_ARGS_AS_ONE, "<confname> saymember <member_id> <text>"}, 
-	{"stop", &conf_api_sub_stop, CONF_API_SUB_MEMBER_TARGET, "<confname> stop <[current|all|last]> [<member_id>]"}, 
+	{"stop", &conf_api_sub_stop, CONF_API_SUB_ARGS_SPLIT, "<confname> stop <[current|all|last]> [<member_id>]"}, 
 	{"kick", &conf_api_sub_kick, CONF_API_SUB_MEMBER_TARGET, "<confname> kick <[member_id|all|last]>"}, 
 	{"mute", &conf_api_sub_mute, CONF_API_SUB_MEMBER_TARGET, "<confname> mute <[member_id|all]|last>"}, 
 	{"unmute", &conf_api_sub_unmute, CONF_API_SUB_MEMBER_TARGET, "<confname> unmute <[member_id|all]|last>"}, 
@@ -3031,9 +3033,17 @@
                 /* member specific command that can be itteratted */
             case CONF_API_SUB_MEMBER_TARGET:
                 {
-                    uint32_t id = atoi(argv[argn+1]);
-                    int all = ( id == 0 && strcasecmp(argv[argn+1], "all") == 0 );
-                    int last = ( id == 0 && strcasecmp(argv[argn+1], "last") == 0 );
+                    uint32_t id = 0;
+                    int all;
+                    int last;
+
+                    if (argv[argn+1]) {
+                        if (!(id = atoi(argv[argn+1]))) {
+                            all = strcasecmp(argv[argn+1], "all") ? 0 : 1;
+                            last = strcasecmp(argv[argn+1], "last") ? 0 : 1;
+                        }                        
+                    }
+
 
                     if (all) {
                         conference_member_itterator(conference, stream, conf_api_sub_commands[i].pfnapicmd, argv[argn+2]);



More information about the Freeswitch-svn mailing list