[Freeswitch-svn] [commit] r10139 - freeswitch/trunk/src/mod/event_handlers/mod_event_socket
Freeswitch SVN
mikej at freeswitch.org
Fri Oct 24 11:50:47 EDT 2008
Author: mikej
Date: Fri Oct 24 11:50:46 2008
New Revision: 10139
Modified:
freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c
Log:
fix windows build.
Modified: freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c
==============================================================================
--- freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c (original)
+++ freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c Fri Oct 24 11:50:46 2008
@@ -573,7 +573,11 @@
goto end;
} else if (!strcasecmp(wcmd, "destroy-listener")) {
char *id = switch_event_get_header(stream->param_event, "listen-id");
- uint32_t idl = (uint32_t) atol(id);
+ uint32_t idl = 0;
+
+ if (id) {
+ idl = (uint32_t) atol(id);
+ }
if ((listener = find_listener(idl))) {
remove_listener(listener);
@@ -589,10 +593,14 @@
} else if (!strcasecmp(wcmd, "check-listener")) {
char *id = switch_event_get_header(stream->param_event, "listen-id");
- uint32_t idl = (uint32_t) atol(id);
+ uint32_t idl = 0;
void *pop;
- switch_event_t *pevent;
+ switch_event_t *pevent = NULL;
+ if (id) {
+ idl = (uint32_t) atol(id);
+ }
+
if (!(listener = find_listener(idl))) {
stream->write_function(stream, "<data><reply type=\"error\">Can't find listener</reply></data>\n");
goto end;
@@ -604,8 +612,8 @@
stream->write_function(stream, "<events>\n");
while (switch_queue_trypop(listener->event_queue, &pop) == SWITCH_STATUS_SUCCESS) {
- pevent = (switch_event_t *) pop;
char *etype;
+ pevent = (switch_event_t *) pop;
if (listener->format == EVENT_FORMAT_PLAIN) {
etype = "plain";
@@ -1039,7 +1047,7 @@
if (!strncasecmp(cmd, "connect", 7)) {
switch_snprintf(reply, reply_len, "+OK");
goto done;
- } else if (!strncasecmp(cmd, "sendmsg", 7)) {
+ } else if (listener->session && !strncasecmp(cmd, "sendmsg", 7)) {
if (switch_test_flag(listener, LFLAG_ASYNC)) {
if ((status = switch_core_session_queue_private_event(listener->session, event)) == SWITCH_STATUS_SUCCESS) {
switch_snprintf(reply, reply_len, "+OK");
More information about the Freeswitch-svn
mailing list