Lowercase the requested module name like for dynamic module loading.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr-iconv/branches/STATIC_MODULES@469166 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/iconv_module.c b/lib/iconv_module.c
index 2454edc..fe7384e 100644
--- a/lib/iconv_module.c
+++ b/lib/iconv_module.c
@@ -531,9 +531,17 @@
iconv_smopen(const char *name, void **dpp)
{
- iconv_module_desc_t *module = static_iconv_module_find(name);
+ char buffer[APR_PATH_MAX];
+ char *ptr;
+ iconv_module_desc_t *module;
+
+ if (apr_tolower(name[0]) == 'x' && name[1] == '-')
+ name += 2;
+ ptr = buffer;
+ while (0 != (*ptr++ = apr_tolower(*name++)))
+ module = static_iconv_module_find(buffer);
if (!module) {
- const char *alias = charset_alias_find(name);
+ const char *alias = charset_alias_find(buffer);
if (alias) {
if ((module = static_iconv_module_find(alias))) {
*dpp = module;
@@ -649,7 +657,7 @@
int error;
/* Try to load the built-in modules first */
- error = iconv_smopen(buffer, (void**)&mdesc);
+ error = iconv_smopen(modname, (void**)&mdesc);
if (error) {
if (iconv_getpath(buffer, modname, ctx) != 0)
return EINVAL;