<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.2873" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial size=2><SPAN class=404142312-15062006>Hi
Fab,</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=404142312-15062006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=404142312-15062006>While debugging
failures on WSD I have found that when building with IBSP_LOGGING enabled, the
build fails.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=404142312-15062006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=404142312-15062006>The following small
patch fixes this problem.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=404142312-15062006>(Please note, the
patch looks longer than it is as it just moves one function from a .h file to .c
file)</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=404142312-15062006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN
class=404142312-15062006>Thanks</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=404142312-15062006>Tzachi</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=404142312-15062006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=404142312-15062006>+#ifndef
IBSPDEBUG_H<BR>+#define IBSPDEBUG_H<BR>+<BR> #include
"ibspdll.h"<BR> #include <complib/cl_atomic.h><BR> <BR>@@ -169,3
+172,4
@@<BR> DataLogger *pLoger
);<BR> <BR> #endif /* IBSP_LOGGING */<BR>+#endif /*
IBSPDEBUG_H */<BR>Index:
ibspdll.c<BR>===================================================================<BR>---
ibspdll.c (revision 385)<BR>+++ ibspdll.c (working copy)<BR>@@ -2264,4
+2264,39 @@<BR> return 0;<BR> }<BR> <BR>+inline
void<BR>+ibsp_css(<BR>+ char *calling_func,<BR>+ int line,<BR>+ struct
ibsp_socket_info *s,<BR>+ enum
ibsp_socket_state new_state )<BR>+{<BR>+ enum ibsp_socket_state
old_state;<BR> <BR>+ UNUSED_PARAM( calling_func
);<BR>+ UNUSED_PARAM( line );<BR>+<BR>+ old_state =
s->socket_state;<BR>+<BR>+ if( old_state == new_state
)<BR>+ {<BR>+ /* Nothing to change
*/<BR>+ return;<BR>+ }<BR>+<BR>+ /* IBSP_CLOSED is a dead
end state */<BR>+ if( old_state == IBSP_CLOSED
)<BR>+ {<BR>+ fzprint(("%s():0x%x:0x%x: socket=0x%p cannot
change from %s to %s, called by %s():%d\n", __FUNCTION__, GetCurrentProcessId(),
GetCurrentThreadId(), s, IBSP_SOCKET_STATE_STR(old_state),
IBSP_SOCKET_STATE_STR(new_state), calling_func,
line));<BR>+ return;<BR>+ }<BR>+<BR>+ fzprint(("%s():0x%x:0x%x:
socket=0x%p %s to %s, called by %s():%d\n", __FUNCTION__,<BR>+
GetCurrentProcessId(),<BR>+ GetCurrentThreadId(),
s,<BR>+
IBSP_SOCKET_STATE_STR(old_state),<BR>+
IBSP_SOCKET_STATE_STR(new_state), calling_func,
line));<BR>+<BR>+ s->socket_state = new_state;<BR>+}<BR>+<BR>Index:
ibspstruct.h<BR>===================================================================<BR>---
ibspstruct.h (revision 385)<BR>+++ ibspstruct.h (working copy)<BR>@@
-334,37 +334,8
@@<BR> char *calling_func,<BR> int line,<BR> struct
ibsp_socket_info *s,<BR>- enum
ibsp_socket_state new_state )<BR>-{<BR>- enum ibsp_socket_state
old_state;<BR>+ enum
ibsp_socket_state new_state );<BR> <BR>- UNUSED_PARAM(
calling_func );<BR>- UNUSED_PARAM( line );<BR>-<BR>- old_state =
s->socket_state;<BR>-<BR>- if( old_state == new_state
)<BR>- {<BR>- /* Nothing to change
*/<BR>- return;<BR>- }<BR>-<BR>- /* IBSP_CLOSED is a dead
end state */<BR>- if( old_state == IBSP_CLOSED
)<BR>- {<BR>- fzprint(("%s():0x%x:0x%x: socket=0x%p cannot
change from %s to %s, called by %s():%d\n", __FUNCTION__, GetCurrentProcessId(),
GetCurrentThreadId(), s, IBSP_SOCKET_STATE_STR(old_state),
IBSP_SOCKET_STATE_STR(new_state), calling_func,
line));<BR>- return;<BR>- }<BR>-<BR>- fzprint(("%s():0x%x:0x%x:
socket=0x%p %s to %s, called by %s():%d\n", __FUNCTION__,<BR>-
GetCurrentProcessId(),<BR>- GetCurrentThreadId(),
s,<BR>-
IBSP_SOCKET_STATE_STR(old_state),<BR>-
IBSP_SOCKET_STATE_STR(new_state), calling_func,
line));<BR>-<BR>- s->socket_state =
new_state;<BR>-}<BR>-<BR> #define IBSP_CHANGE_SOCKET_STATE(socket_info,
new_state) \<BR> ibsp_css(__FUNCTION__, __LINE__, socket_info,
new_state)<BR> <BR></SPAN></FONT></DIV></BODY></HTML>