commit - 8efeae171431db98f88435a7152e94b1532c3955
commit + 58b8fb5d12bdbcc4f1893654149b555b5d0f44fa
blob - 802bdc4cd17c11d71af838ba1e60e36bfd3789c9
blob + 3f7b1518be561004ce51a8c28e32abb4b890aa05
--- src/ngircd/conn.c
+++ src/ngircd/conn.c
#include "portab.h"
#include "io.h"
-static char UNUSED id[] = "$Id: conn.c,v 1.173 2005/08/28 00:19:29 fw Exp $";
+static char UNUSED id[] = "$Id: conn.c,v 1.174 2005/08/28 16:51:20 fw Exp $";
#include "imp.h"
#include <assert.h>
#endif
char *ptr;
int len, delta;
- bool action, result;
+ bool result;
#ifdef ZLIB
bool old_z;
#endif
result = false;
- do {
+ for (;;) {
/* Check penalty */
if( My_Connections[Idx].delaytime > time( NULL )) return result;
#ifdef ZLIB
}
#endif
- action = false;
if( ! ptr )
break;
old_z = My_Connections[Idx].options & CONN_ZIP;
#endif
- if( len > delta )
- {
- /* A Request was read */
- My_Connections[Idx].msg_in++;
- if( ! Parse_Request( Idx, (char*)array_start(&My_Connections[Idx].rbuf) )) return false;
- else action = true;
+ My_Connections[Idx].msg_in++;
+ if (!Parse_Request(Idx, (char*)array_start(&My_Connections[Idx].rbuf) ))
+ return false;
- array_moveleft(&My_Connections[Idx].rbuf, 1, len);
+ result = true;
+
+ array_moveleft(&My_Connections[Idx].rbuf, 1, len);
#ifdef DEBUG
- Log(LOG_DEBUG, "%d byte left in rbuf", array_bytes(&My_Connections[Idx].rbuf));
+ Log(LOG_DEBUG, "%u byte left in rbuf", array_bytes(&My_Connections[Idx].rbuf));
#endif
- }
#ifdef ZLIB
- if(( ! old_z ) && ( My_Connections[Idx].options & CONN_ZIP ) && ( array_bytes(&My_Connections[Idx].rbuf) > 0 ))
+ if(( ! old_z ) && ( My_Connections[Idx].options & CONN_ZIP ) &&
+ ( array_bytes(&My_Connections[Idx].rbuf) > 0 ))
{
/* The last Command activated Socket-Compression.
* Data that was read after that needs to be copied to Unzip-buf
* for decompression */
if( array_bytes(&My_Connections[Idx].rbuf)> ZREADBUFFER_LEN ) {
- /* No space left */
- Log( LOG_ALERT, "Can't move receive buffer: No space left in unzip buffer (need %d bytes)!", array_bytes(&My_Connections[Idx].rbuf ));
+ Log( LOG_ALERT, "Connection %d: No space left in unzip buf (need %u bytes)!",
+ Idx, array_bytes(&My_Connections[Idx].rbuf ));
return false;
}
if (!array_copy( &My_Connections[Idx].zip.rbuf, &My_Connections[Idx].rbuf ))
array_trunc(&My_Connections[Idx].rbuf);
#ifdef DEBUG
- Log( LOG_DEBUG, "Moved already received data (%d bytes) to uncompression buffer.", array_bytes(&My_Connections[Idx].zip.rbuf));
+ Log( LOG_DEBUG, "Moved already received data (%u bytes) to uncompression buffer.",
+ array_bytes(&My_Connections[Idx].zip.rbuf));
#endif /* DEBUG */
}
#endif /* ZLIB */
- if( action ) result = true;
- } while( action );
+ }
return result;
} /* Handle_Buffer */