diff options
author | Jeremy Allison <jra@samba.org> | 2004-03-17 19:23:48 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2004-03-17 19:23:48 +0000 |
commit | 41ea0d35aeb984cbd3bc3baf96594ab6b67c70e2 (patch) | |
tree | a984e2bc80b2d1daeee423764cad9096a13d7d96 /source3 | |
parent | aad3d8aeb013211398c223472d563c088d27b7f7 (diff) | |
download | samba-41ea0d35aeb984cbd3bc3baf96594ab6b67c70e2.tar.gz samba-41ea0d35aeb984cbd3bc3baf96594ab6b67c70e2.tar.bz2 samba-41ea0d35aeb984cbd3bc3baf96594ab6b67c70e2.zip |
Remove excess logging when probing for the length of the next mb char.
Jeremy.
(This used to be commit 6339c4690aef7692571dd4c65dd0a12d56a7ffab)
Diffstat (limited to 'source3')
-rw-r--r-- | source3/lib/charcnv.c | 3 | ||||
-rw-r--r-- | source3/smbd/reply.c | 30 |
2 files changed, 20 insertions, 13 deletions
diff --git a/source3/lib/charcnv.c b/source3/lib/charcnv.c index ad15788b84..f6028bb134 100644 --- a/source3/lib/charcnv.c +++ b/source3/lib/charcnv.c @@ -1307,6 +1307,7 @@ size_t next_mb_char_size(const char *s) if (!(*s & 0x80)) return 1; /* ascii. */ + conv_silent = True; for ( i = 1; i <=4; i++ ) { smb_ucs2_t uc; if (convert_string(CH_UNIX, CH_UCS2, s, i, &uc, 2, False) == 2) { @@ -1314,10 +1315,12 @@ size_t next_mb_char_size(const char *s) DEBUG(10,("next_mb_char_size: size %u at string %s\n", (unsigned int)i, s)); #endif + conv_silent = False; return i; } } /* We're hosed - we don't know how big this is... */ DEBUG(10,("next_mb_char_size: unknown size at string %s\n", s)); + conv_silent = False; return 1; } diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 0fe73cddc2..f5c4f25e40 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -113,19 +113,23 @@ NTSTATUS check_path_syntax(pstring destname, const pstring srcname) } s++; } else { - switch(next_mb_char_size(s)) { - case 4: - *d++ = *s++; - case 3: - *d++ = *s++; - case 2: - *d++ = *s++; - case 1: - *d++ = *s++; - break; - default: - DEBUG(0,("check_path_syntax: character length assumptions invalid !\n")); - return NT_STATUS_INVALID_PARAMETER; + if (!(*s & 0x80)) { + *d++ = *s++; + } else { + switch(next_mb_char_size(s)) { + case 4: + *d++ = *s++; + case 3: + *d++ = *s++; + case 2: + *d++ = *s++; + case 1: + *d++ = *s++; + break; + default: + DEBUG(0,("check_path_syntax: character length assumptions invalid !\n")); + return NT_STATUS_INVALID_PARAMETER; + } } } } |