write_data already guarantees everything was written
authorVolker Lendecke <vl@samba.org>
Sun, 12 Apr 2009 12:05:58 +0000 (14:05 +0200)
committerVolker Lendecke <vl@samba.org>
Sun, 12 Apr 2009 12:51:15 +0000 (14:51 +0200)
source3/smbd/process.c

index 65778ab0fc21c67b18970f40a1dac838a327904f..7605ad70b55782f87236d28992e5a01a306ce2a8 100644 (file)
@@ -59,15 +59,12 @@ bool srv_send_smb(int fd, char *buffer,
 
        len = smb_len(buf_out) + 4;
 
-       while (nwritten < len) {
-               ret = write_data(fd,buf_out+nwritten,len - nwritten);
-               if (ret <= 0) {
-                       DEBUG(0,("Error writing %d bytes to client. %d. (%s)\n",
-                               (int)len,(int)ret, strerror(errno) ));
-                       srv_free_enc_buffer(buf_out);
-                       goto out;
-               }
-               nwritten += ret;
+       ret = write_data(fd,buf_out+nwritten,len - nwritten);
+       if (ret <= 0) {
+               DEBUG(0,("Error writing %d bytes to client. %d. (%s)\n",
+                        (int)len,(int)ret, strerror(errno) ));
+               srv_free_enc_buffer(buf_out);
+               goto out;
        }
 
        SMB_PERFCOUNT_SET_MSGLEN_OUT(pcd, len);