summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>1998-05-19 20:08:37 +0000
committerJeremy Allison <jra@samba.org>1998-05-19 20:08:37 +0000
commit1b412a501e22602ac5edcd875e09bd3814b6e841 (patch)
treeec79a2f52899bb583bdcb322444ea6e1f2fc5be9
parent73231a9e636bcb8d74000d5529a3c513d6c27ea3 (diff)
downloadsamba-1b412a501e22602ac5edcd875e09bd3814b6e841.tar.gz
samba-1b412a501e22602ac5edcd875e09bd3814b6e841.tar.bz2
samba-1b412a501e22602ac5edcd875e09bd3814b6e841.zip
passdb.c: Fixed typo in coment.
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)
-rw-r--r--source3/include/smb.h11
-rw-r--r--source3/lib/util.c53
-rw-r--r--source3/passdb/passdb.c2
-rw-r--r--source3/passdb/smbpass.c6
4 files changed, 28 insertions, 44 deletions
diff --git a/source3/include/smb.h b/source3/include/smb.h
index cc0ce07495..092cf349e5 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -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 {
diff --git a/source3/lib/util.c b/source3/lib/util.c
index 4c8133cabf..75c3de541f 100644
--- a/source3/lib/util.c
+++ b/source3/lib/util.c
@@ -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;
diff --git a/source3/passdb/passdb.c b/source3/passdb/passdb.c
index 599a463d89..396781d2f0 100644
--- a/source3/passdb/passdb.c
+++ b/source3/passdb/passdb.c
@@ -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
diff --git a/source3/passdb/smbpass.c b/source3/passdb/smbpass.c
index 24b3ee4a54..633a527be1 100644
--- a/source3/passdb/smbpass.c
+++ b/source3/passdb/smbpass.c
@@ -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 */