aboutsummaryrefslogtreecommitdiffstats
path: root/res
diff options
context:
space:
mode:
authortwilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b>2008-10-09 17:04:11 +0000
committertwilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b>2008-10-09 17:04:11 +0000
commit88cae64b08b5aeeb554aba85e482b3a658b67943 (patch)
tree30c11cc20ee047ac8e9526027674031f734db452 /res
parent02af3354001f061aba0e72270ec3edf4ea7e2146 (diff)
Make phoneprov case-insensitive to remove the func_strings dependency of the default config
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@147854 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res')
-rw-r--r--res/res_phoneprov.c24
1 files changed, 19 insertions, 5 deletions
diff --git a/res/res_phoneprov.c b/res/res_phoneprov.c
index 52404b59f..7f0aa01d4 100644
--- a/res/res_phoneprov.c
+++ b/res/res_phoneprov.c
@@ -28,6 +28,7 @@
#include "asterisk.h"
+#include <ctype.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
#include <net/if.h>
@@ -287,15 +288,22 @@ static struct http_route *unref_route(struct http_route *route)
static int routes_hash_fn(const void *obj, const int flags)
{
const struct http_route *route = obj;
-
- return ast_str_hash(route->uri);
+ char *tmp, *uri;
+
+ uri = tmp = ast_strdupa(route->uri);
+
+ while (*tmp++) {
+ *tmp = tolower(*tmp);
+ }
+
+ return ast_str_hash(uri);
}
static int routes_cmp_fn(void *obj, void *arg, int flags)
{
const struct http_route *route1 = obj, *route2 = arg;
- return !strcmp(route1->uri, route2->uri) ? CMP_MATCH | CMP_STOP : 0;
+ return !strcasecmp(route1->uri, route2->uri) ? CMP_MATCH | CMP_STOP : 0;
}
static void route_destructor(void *obj)
@@ -776,8 +784,15 @@ static struct user *find_user(const char *macaddress)
static int users_hash_fn(const void *obj, const int flags)
{
const struct user *user = obj;
+ char *tmp, *mac;
+
+ mac = tmp = ast_strdupa(user->macaddress);
+
+ while (*tmp++) {
+ *tmp = tolower(*tmp);
+ }
- return ast_str_hash(user->macaddress);
+ return ast_str_hash(mac);
}
static int users_cmp_fn(void *obj, void *arg, int flags)
@@ -821,7 +836,6 @@ static void delete_users(void)
static struct user *build_user(const char *mac, struct phone_profile *profile)
{
struct user *user;
-
if (!(user = ao2_alloc(sizeof(*user), user_destructor))) {
profile = unref_profile(profile);