summaryrefslogtreecommitdiff
path: root/source3/lib
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>1997-11-22 07:09:12 +0000
committerAndrew Tridgell <tridge@samba.org>1997-11-22 07:09:12 +0000
commit51f20adc6b964bad6e5bfbf69da68e1e6f45b13e (patch)
tree9b46032c223e234f7ee94ba68385472fbfe0c4e6 /source3/lib
parent5a1c907d3cb6446b5158028582bf9e8a70ff0b02 (diff)
downloadsamba-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.c4
-rw-r--r--source3/lib/kanji.c13
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;