diff options
author | Andrew Tridgell <tridge@samba.org> | 1997-11-22 07:09:12 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 1997-11-22 07:09:12 +0000 |
commit | 51f20adc6b964bad6e5bfbf69da68e1e6f45b13e (patch) | |
tree | 9b46032c223e234f7ee94ba68385472fbfe0c4e6 /source3/lib | |
parent | 5a1c907d3cb6446b5158028582bf9e8a70ff0b02 (diff) | |
download | samba-51f20adc6b964bad6e5bfbf69da68e1e6f45b13e.tar.gz samba-51f20adc6b964bad6e5bfbf69da68e1e6f45b13e.tar.bz2 samba-51f20adc6b964bad6e5bfbf69da68e1e6f45b13e.zip |
added true enumerated types in loadparm.c. Now we don't need all those
"interpret_security" and similar functions. This also means that
testparm produces string values for these enumerated types rather than
an integer. This was done to make the web interface much cleaner.
While I was doing this I found a couple of very nasty bugs in the
parm_table code. Someone had added a handle_character_set() function
that treated the char** pointer for a P_STRING as an integer! This
would have caused memory corruption for anyone using the "character
set" option. The loadparm code is delicate - please be careful about
using it's more esoteric features!
I've also removed the "coding system" global and made it a
P_STRING. The integer value was never used anywhere in Samba.
(This used to be commit bac6b0daa288e879330e3d585582122bb93a1ffb)
Diffstat (limited to 'source3/lib')
-rw-r--r-- | source3/lib/charcnv.c | 4 | ||||
-rw-r--r-- | source3/lib/kanji.c | 13 |
2 files changed, 6 insertions, 11 deletions
diff --git a/source3/lib/charcnv.c b/source3/lib/charcnv.c index a7dff4224b..e1a7ac01db 100644 --- a/source3/lib/charcnv.c +++ b/source3/lib/charcnv.c @@ -150,9 +150,8 @@ char *dos2unix_format(char *str, BOOL overwrite) /* * Interpret character set. */ -int interpret_character_set(char *str, int def) +void interpret_character_set(char *str) { - if (strequal (str, "iso8859-1")) { init_iso8859_1(); } else if (strequal (str, "iso8859-2")) { @@ -160,5 +159,4 @@ int interpret_character_set(char *str, int def) } else { DEBUG(0,("unrecognized character set\n")); } - return def; } diff --git a/source3/lib/kanji.c b/source3/lib/kanji.c index 5d7de87248..75d1affb20 100644 --- a/source3/lib/kanji.c +++ b/source3/lib/kanji.c @@ -27,13 +27,10 @@ #define _KANJI_C_ #include "includes.h" -/* coding system keep in */ -int coding_system = SJIS_CODE; - /* jis si/so sequence */ -char jis_kso = JIS_KSO; -char jis_ksi = JIS_KSI; -char hex_tag = HEXTAG; +static char jis_kso = JIS_KSO; +static char jis_ksi = JIS_KSI; +static char hex_tag = HEXTAG; /******************************************************************* SHIFT JIS functions @@ -774,9 +771,9 @@ static int setup_string_function(int codes) /* * Interpret coding system. */ -int interpret_coding_system(char *str, int def) +int interpret_coding_system(char *str) { - int codes = def; + int codes = UNKNOWN_CODE; if (strequal (str, "sjis")) { codes = SJIS_CODE; |