diff options
author | Jeremy Allison <jra@samba.org> | 2006-04-11 01:43:13 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:15:58 -0500 |
commit | fc13f284179df5f3f3a1d475bf84da21dc89c970 (patch) | |
tree | f5df9fc2aa7961be3ac6afc8b033950964416c38 /source3/smbd/process.c | |
parent | 41a35cfe940ceba7b89eec776ca78eec8eeb4a82 (diff) | |
download | samba-fc13f284179df5f3f3a1d475bf84da21dc89c970.tar.gz samba-fc13f284179df5f3f3a1d475bf84da21dc89c970.tar.bz2 samba-fc13f284179df5f3f3a1d475bf84da21dc89c970.zip |
r15030: On a performace hunt... Remove as many extraneous
memset's as possible.
Jeremy.
(This used to be commit 1217ed392b75aa8bfefa9c3f1ec5fa3bba841ee0)
Diffstat (limited to 'source3/smbd/process.c')
-rw-r--r-- | source3/smbd/process.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/source3/smbd/process.c b/source3/smbd/process.c index b2634e2653..c0a43e99dd 100644 --- a/source3/smbd/process.c +++ b/source3/smbd/process.c @@ -1160,20 +1160,16 @@ void remove_from_common_flags2(uint32 v) void construct_reply_common(char *inbuf,char *outbuf) { - memset(outbuf,'\0',smb_size); - - set_message(outbuf,0,0,True); - SCVAL(outbuf,smb_com,CVAL(inbuf,smb_com)); + set_message(outbuf,0,0,False); - memcpy(outbuf+4,inbuf+4,4); - SCVAL(outbuf,smb_rcls,SMB_SUCCESS); - SCVAL(outbuf,smb_reh,0); + SCVAL(outbuf,smb_com,CVAL(inbuf,smb_com)); + SIVAL(outbuf,smb_rcls,0); SCVAL(outbuf,smb_flg, FLAG_REPLY | (CVAL(inbuf,smb_flg) & FLAG_CASELESS_PATHNAMES)); SSVAL(outbuf,smb_flg2, (SVAL(inbuf,smb_flg2) & FLAGS2_UNICODE_STRINGS) | common_flags2); + memset(outbuf+smb_pidhigh,'\0',(smb_tid-smb_pidhigh)); - SSVAL(outbuf,smb_err,SMB_SUCCESS); SSVAL(outbuf,smb_tid,SVAL(inbuf,smb_tid)); SSVAL(outbuf,smb_pid,SVAL(inbuf,smb_pid)); SSVAL(outbuf,smb_uid,SVAL(inbuf,smb_uid)); |