[commit] r3896 - freeswitch/trunk/src/mod/applications/mod_conference
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]);
participants (1)
-
Freeswitch SVN