From 51f20adc6b964bad6e5bfbf69da68e1e6f45b13e Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sat, 22 Nov 1997 07:09:12 +0000 Subject: 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) --- source3/lib/charcnv.c | 4 +--- source3/lib/kanji.c | 13 +++++-------- 2 files changed, 6 insertions(+), 11 deletions(-) (limited to 'source3/lib') 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; -- cgit