]> err.no Git - sope/blobdiff - sope-appserver/mod_ngobjweb/NGBufferedDescriptor.c
fixed some potential crashers
[sope] / sope-appserver / mod_ngobjweb / NGBufferedDescriptor.c
index 7c16dda4ff1c934987c821af553a7c0300a2633d..f09b909754654a27475bf648aff96699a09e41c3 100644 (file)
@@ -112,15 +112,16 @@ int NGBufferedDescriptor_getWriteBufferSize(NGBufferedDescriptor *self) {
 }
 
 int NGBufferedDescriptor_read(NGBufferedDescriptor *self,
-                                   void *_buf, int _len) {
-  register int availBytes = numberOfAvailableReadBufferBytes(self);
-
+                             void *_buf, int _len)
+{
+  register int availBytes;
+  
   if (self == NULL) return 0;
   
-  if (self->readBufferSize == 0) // no read buffering is done (buffersize==0)
+  if (self->readBufferSize == 0) // no read buffering is done (buffersize==0)
     return read(self->fd, _buf, _len);
-  }
-    
+  
+  availBytes = numberOfAvailableReadBufferBytes(self);
   if (availBytes >= _len) {
     // there are enough bytes in the buffer to fulfill the request
     if (_len == 1) {
@@ -129,7 +130,7 @@ int NGBufferedDescriptor_read(NGBufferedDescriptor *self,
     }
     else {
       memcpy(_buf, self->readBufferPos, _len);
-      self->readBufferPos += _len;          // update read position (consumed-size)
+      self->readBufferPos += _len;  // update read position (consumed-size)
     }
     checkReadBufferFillState(self); // check whether all bytes where consumed
     return _len;