diff options
Diffstat (limited to 'source3/lib')
-rw-r--r-- | source3/lib/iconv.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/source3/lib/iconv.c b/source3/lib/iconv.c index 9240e24074..906c831335 100644 --- a/source3/lib/iconv.c +++ b/source3/lib/iconv.c @@ -66,12 +66,9 @@ static struct charset_functions *charsets = NULL; static struct charset_functions *find_charset_functions(const char *name) { struct charset_functions *c = charsets; - pstring stripped; - module_path_get_name(name, stripped); - while(c) { - if (strcasecmp(stripped, c->name) == 0) { + if (strcasecmp(name, c->name) == 0) { return c; } c = c->next; @@ -86,12 +83,10 @@ BOOL smb_register_charset(struct charset_functions *funcs) DEBUG(5, ("Attempting to register new charset %s\n", funcs->name)); /* Check whether we already have this charset... */ - while(c) { - if(!strcasecmp(c->name, funcs->name)){ - DEBUG(2, ("Duplicate charset %s, not registering\n", funcs->name)); - return False; - } - c = c->next; + + if (find_charset_functions(funcs->name)) { + DEBUG(2, ("Duplicate charset %s, not registering\n", funcs->name)); + return False; } funcs->next = funcs->prev = NULL; |