summaryrefslogtreecommitdiffstats
path: root/source/smbd/process.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2006-04-11 01:43:13 +0000
committerJeremy Allison <jra@samba.org>2006-04-11 01:43:13 +0000
commite99074d5330c406562ae1939ceb5c5e0f3aec5c4 (patch)
tree7ae0d6de68b3171175df61f36fa5cad2c170aa82 /source/smbd/process.c
parentb6fa69cfcb4f5d35fdf735b7b0d3d0df56875d25 (diff)
downloadsamba-e99074d5330c406562ae1939ceb5c5e0f3aec5c4.tar.gz
samba-e99074d5330c406562ae1939ceb5c5e0f3aec5c4.tar.xz
samba-e99074d5330c406562ae1939ceb5c5e0f3aec5c4.zip
r15030: On a performace hunt... Remove as many extraneous
memset's as possible. Jeremy.
Diffstat (limited to 'source/smbd/process.c')
-rw-r--r--source/smbd/process.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/source/smbd/process.c b/source/smbd/process.c
index b2634e26531..c0a43e99dd3 100644
--- a/source/smbd/process.c
+++ b/source/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));