diff options
author | Jeremy Allison <jra@samba.org> | 1998-05-19 20:08:37 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 1998-05-19 20:08:37 +0000 |
commit | 1b412a501e22602ac5edcd875e09bd3814b6e841 (patch) | |
tree | ec79a2f52899bb583bdcb322444ea6e1f2fc5be9 /source3 | |
parent | 73231a9e636bcb8d74000d5529a3c513d6c27ea3 (diff) | |
download | samba-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)
Diffstat (limited to 'source3')
-rw-r--r-- | source3/include/smb.h | 11 | ||||
-rw-r--r-- | source3/lib/util.c | 53 | ||||
-rw-r--r-- | source3/passdb/passdb.c | 2 | ||||
-rw-r--r-- | source3/passdb/smbpass.c | 6 |
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 */ |