if (!sd->scheme_func_hash)
sd->scheme_func_hash = eina_hash_pointer_new(NULL);
+ char *lower_scheme = strdup(scheme);
+ eina_str_tolower(&lower_scheme);
if (!func)
- eina_hash_del(sd->scheme_func_hash, scheme, func);
+ eina_hash_del(sd->scheme_func_hash, lower_scheme, func);
else
- eina_hash_add(sd->scheme_func_hash, scheme, func);
+ eina_hash_add(sd->scheme_func_hash, lower_scheme, func);
+ free(lower_scheme);
}
void
else
{
*protocol_hack = '\0';
- func = (Elm_WebView_Mime_Cb) eina_hash_find(sd->scheme_func_hash, request->url);
+ char *scheme = strdup(request->url);
+ eina_str_tolower(&scheme);
+ func = (Elm_WebView_Mime_Cb) eina_hash_find(sd->scheme_func_hash, scheme);
*protocol_hack = ':';
+ free(scheme);
}
}