passdb.c: Fixed typo in coment.
authorJeremy Allison <jra@samba.org>
Tue, 19 May 1998 20:08:37 +0000 (20:08 +0000)
committerJeremy Allison <jra@samba.org>
Tue, 19 May 1998 20:08:37 +0000 (20:08 +0000)
smb.h: Removed comments no longer valid.
smbpass.c: Stopped dummy function from being prototyped.
util.c: Fix for multibyte char problems with strlower, strupper
and string_replace.
Jeremy.
(This used to be commit cd244b45a5d35fceee2a4034b0c6aabdb58871aa)

source3/include/smb.h
source3/lib/util.c
source3/passdb/passdb.c
source3/passdb/smbpass.c

index cc0ce07495c690841ad69f8d470c8f778ecf82aa..092cf349e547a6f7b4928553f0d923b092659058 100644 (file)
@@ -637,17 +637,6 @@ struct shmem_ops {
 /*
  * Each implementation of the password database code needs
  * to support the following operations.
- *
- * either the get/mod/add-smbXXX or the get/mod/add-sam21XXX functions
- * are optional, but not both.  conversion routines will be called
- * if only one of each is supported.  the preference is to provide
- * full getsam21pwXXX functionality.
- *
- * e.g: provide a getsam21pwnam() function but set getsmbpwnam() to NULL:
- * passdb.c will automatically call getsam21pwnam() and then call the
- * sam21-to-smb conversion routine if the passdb.c::getsmbpwnam() function
- * is called.
- *
  */
 
 struct passdb_ops {
index 4c8133cabf478dc78d5b6cf2bc08271a54477e2c..75c3de541fca152d5fccd7d5e0760f1a3adcc069 100644 (file)
@@ -1115,9 +1115,15 @@ void strlower(char *s)
     else
 #endif /* KANJI_WIN95_COMPATIBILITY */
     {
-      if (isupper(*s))
-        *s = tolower(*s);
-      s++;
+      int skip = skip_multibyte_char( *s );
+      if( skip != 0 )
+        s += skip;
+      else
+      {
+        if (isupper(*s))
+          *s = tolower(*s);
+        s++;
+      }
     }
   }
 }
@@ -1162,9 +1168,15 @@ void strupper(char *s)
     else
 #endif /* KANJI_WIN95_COMPATIBILITY */
     {
-      if (islower(*s))
-        *s = toupper(*s);
-      s++;
+      int skip = skip_multibyte_char( *s );
+      if( skip != 0 )
+        s += skip;
+      else
+      {
+        if (islower(*s))
+          *s = toupper(*s);
+        s++;
+      }
     }
   }
 }
@@ -1197,34 +1209,13 @@ BOOL strisnormal(char *s)
 ****************************************************************************/
 void string_replace(char *s,char oldc,char newc)
 {
+  int skip;
   while (*s)
   {
-#if !defined(KANJI_WIN95_COMPATIBILITY)
-  /*
-   * For completeness we should put in equivalent code for code pages
-   * 949 (Korean hangul) and 950 (Big5 Traditional Chinese) here - but
-   * doubt anyone wants Samba to behave differently from Win95 and WinNT
-   * here. They both treat full width ascii characters as case senstive
-   * filenames (ie. they don't do the work we do here).
-   * JRA. 
-   */
-
-    if(lp_client_code_page() == KANJI_CODEPAGE)
-    {
-      /* Win95 treats full width ascii characters as case sensitive. */
-      if (is_shift_jis (*s))
-        s += 2;
-      else if (is_kana (*s))
-        s++;
-      else
-      {
-        if (oldc == *s)
-          *s = newc;
-        s++;
-      }
-    }
+    skip = skip_multibyte_char( *s );
+    if( skip != 0 )
+      s += skip;
     else
-#endif /* KANJI_WIN95_COMPATIBILITY */
     {
       if (oldc == *s)
         *s = newc;
index 599a463d899f7441aa93055e2d49e488e5dfc3be..396781d2f0862bde1a36d37fe7f7dbe627af2c9e 100644 (file)
@@ -324,7 +324,7 @@ struct sam_passwd *iterate_getsam21pwnam(char *name)
 }
 
 /************************************************************************
- Utility function to search sam passwd by uid.  use this if your database
+ Utility function to search sam passwd by rid.  use this if your database
  does not have search facilities.
 
  search capability by both rid and uid are needed as the rid <-> uid
index 24b3ee4a546d202274be7765828cded7766898e7..633a527be1940332c4a5733ae129c729b381041a 100644 (file)
@@ -896,6 +896,10 @@ static BOOL mod_smbfilepwd_entry(struct smb_passwd* pwd, BOOL override)
   return True;
 }
 
+/*
+ * Stub functions - implemented in terms of others.
+ */
+
 static BOOL mod_smbfile21pwd_entry(struct sam_passwd* pwd, BOOL override)
 {
        return mod_smbfilepwd_entry(pdb_sam_to_smb(pwd), override);
@@ -948,5 +952,5 @@ struct passdb_ops *file_initialize_password_db(void)
 }
 
 #else
-static void dummy_function(void) { } /* stop some compilers complaining */
+ void dummy_function(void) { } /* stop some compilers complaining */
 #endif /* USE_SMBPASS_DB */