[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