Remove excess logging when probing for the length of the next mb char.
authorJeremy Allison <jra@samba.org>
Wed, 17 Mar 2004 19:23:48 +0000 (19:23 +0000)
committerJeremy Allison <jra@samba.org>
Wed, 17 Mar 2004 19:23:48 +0000 (19:23 +0000)
Jeremy.
(This used to be commit 6339c4690aef7692571dd4c65dd0a12d56a7ffab)

source3/lib/charcnv.c
source3/smbd/reply.c

index ad15788b84a8d6dc514fe659f70b8dedbbdd0ba2..f6028bb13415c1bdd44a25641e034f8d26730998 100644 (file)
@@ -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;
 }
index 0fe73cddc28f6e08a795baef25c643799b82ede3..f5c4f25e408e46394bdb64f691df0dd5c9e32d9a 100644 (file)
@@ -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;
+                               }
                        }
                }
        }