X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fubus.git;a=blobdiff_plain;f=ubusd_event.c;h=d12bcb8864ef27a90ddcb0335a5ec4a3129bb0f0;hp=87213b3d7c2e36b620624adaaff28eab72d63011;hb=74eddc472d8c647f21a475bbe780b4509636ae35;hpb=e49b34f91267449e89d3f482b7c16bbf84bf90fd 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;