From 0cde6bc0398fcc3a4d2618ca4102d8fa81d3ce2d Mon Sep 17 00:00:00 2001
From: Jeff Lenk <jeff@jefflenk.com>
Date: Sun, 27 Mar 2011 12:09:10 -0500
Subject: [PATCH] code analysis warnings fix and acknowledge stack usage
 warning

---
 libs/esl/src/esl.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/libs/esl/src/esl.c b/libs/esl/src/esl.c
index 45cf785cd8..95e9615107 100644
--- a/libs/esl/src/esl.c
+++ b/libs/esl/src/esl.c
@@ -646,6 +646,10 @@ ESL_DECLARE(int) esl_wait_sock(esl_socket_t sock, uint32_t ms, esl_poll_t flags)
 
 
 #ifdef ESL_USE_SELECT
+#ifdef WIN32
+#pragma warning( push )
+#pragma warning( disable : 6262 ) /* warning C6262: Function uses '98348' bytes of stack: exceeds /analyze:stacksize'16384'. Consider moving some data to heap */
+#endif
 ESL_DECLARE(int) esl_wait_sock(esl_socket_t sock, uint32_t ms, esl_poll_t flags)
 {
 	int s = 0, r = 0;
@@ -654,12 +658,15 @@ ESL_DECLARE(int) esl_wait_sock(esl_socket_t sock, uint32_t ms, esl_poll_t flags)
 	fd_set efds;
 	struct timeval tv;
 
+	FD_ZERO(&rfds);
+	FD_ZERO(&wfds);
+	FD_ZERO(&efds);
+
 	/* Wouldn't you rather know?? */
 	assert(sock <= FD_SETSIZE);
 
 	
 	if ((flags & ESL_POLL_READ)) {
-		FD_ZERO(&rfds);
 
 #ifdef WIN32
 #pragma warning( push )
@@ -672,7 +679,6 @@ ESL_DECLARE(int) esl_wait_sock(esl_socket_t sock, uint32_t ms, esl_poll_t flags)
 	}
 
 	if ((flags & ESL_POLL_WRITE)) {
-		FD_ZERO(&wfds);
 
 #ifdef WIN32
 #pragma warning( push )
@@ -685,7 +691,6 @@ ESL_DECLARE(int) esl_wait_sock(esl_socket_t sock, uint32_t ms, esl_poll_t flags)
 	}
 
 	if ((flags & ESL_POLL_ERROR)) {
-		FD_ZERO(&efds);
 
 #ifdef WIN32
 #pragma warning( push )
@@ -721,6 +726,9 @@ ESL_DECLARE(int) esl_wait_sock(esl_socket_t sock, uint32_t ms, esl_poll_t flags)
 	return r;
 
 }
+#ifdef WIN32
+#pragma warning( pop ) 
+#endif
 #endif
 
 #ifdef ESL_USE_POLL