diff -uNr a/libslp/libslp_network.c b/libslp/libslp_network.c --- a/libslp/libslp_network.c 2008-08-29 14:07:28.755514312 -0400 +++ b/libslp/libslp_network.c 2008-08-29 14:07:06.563887952 -0400 @@ -389,8 +389,6 @@ /*--------------------------*/ while(xmitcount <= MAX_RETRANSMITS) { - xmitcount++; - /*--------------------*/ /* setup recv timeout */ /*--------------------*/ @@ -412,6 +410,7 @@ timeout.tv_sec = maxwait / 1000; timeout.tv_usec = (maxwait % 1000) * 1000; } + xmitcount++; /*------------------------------------------------------------------*/ /* re-allocate buffer and make sure that the send buffer does not */ @@ -722,7 +721,7 @@ result = SLP_NETWORK_ERROR; goto FINISHED; } - usebroadcast = SLPPropertyAsBoolean(SLPGetProperty("net.slp.useBroadcast")); + usebroadcast = SLPPropertyAsBoolean(SLPGetProperty("net.slp.isBroadcastOnly")); /*-----------------------------------*/ /* Multicast/broadcast wait timeouts */ @@ -765,10 +764,8 @@ /* Main retransmission loop */ /*--------------------------*/ xmitcount = 0; - while(xmitcount <= MAX_RETRANSMITS) + while(xmitcount < MAX_RETRANSMITS) { - xmitcount++; - totaltimeout += timeouts[xmitcount]; if(totaltimeout >= maxwait || timeouts[xmitcount] == 0) { @@ -777,6 +774,7 @@ } timeout.tv_sec = timeouts[xmitcount] / 1000; timeout.tv_usec = (timeouts[xmitcount] % 1000) * 1000; + xmitcount++; /*------------------------------------------------------------------*/ /* re-allocate buffer and make sure that the send buffer does not */