From 74eddc472d8c647f21a475bbe780b4509636ae35 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 13 Apr 2011 20:13:42 +0200 Subject: [PATCH 1/1] add support for a const void * key in avl --- ubusd_event.c | 7 ++++--- ubusd_obj.c | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/ubusd_event.c b/ubusd_event.c index 87213b3..d12bcb8 100644 --- a/ubusd_event.c +++ b/ubusd_event.c @@ -46,7 +46,7 @@ static int ubusd_alloc_event_pattern(struct ubus_client *cl, struct blob_attr *m struct event_source *ev; struct ubus_object *obj; struct blob_attr *attr[EVREG_LAST]; - char *pattern; + char *pattern, *name; uint32_t id; bool partial = false; int len; @@ -82,8 +82,9 @@ static int ubusd_alloc_event_pattern(struct ubus_client *cl, struct blob_attr *m list_add(&ev->list, &obj->events); ev->obj = obj; ev->partial = partial; - ev->avl.key = (void *) (ev + 1); - strcpy(ev->avl.key, pattern); + name = (char *) (ev + 1); + strcpy(name, pattern); + ev->avl.key = name; avl_insert(&patterns, &ev->avl); return 0; diff --git a/ubusd_obj.c b/ubusd_obj.c index 3dd2d7f..3c0e823 100644 --- a/ubusd_obj.c +++ b/ubusd_obj.c @@ -135,7 +135,7 @@ struct ubus_object *ubusd_create_object(struct ubus_client *cl, struct blob_attr goto free; if (avl_insert(&path, &obj->path) != 0) { - free(obj->path.key); + free((void *) obj->path.key); obj->path.key = NULL; goto free; } @@ -158,7 +158,7 @@ void ubusd_free_object(struct ubus_object *obj) if (obj->path.key) { ubusd_send_obj_event(obj, false); avl_delete(&path, &obj->path); - free(obj->path.key); + free((void *) obj->path.key); } if (!list_empty(&obj->list)) list_del(&obj->list); -- 2.11.0