add copyright/license information
[project/ubus.git] / ubusd_obj.c
index 2d78796..1991b17 100644 (file)
@@ -1,3 +1,16 @@
+/*
+ * Copyright (C) 2011 Felix Fietkau <nbd@openwrt.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 2.1
+ * as published by the Free Software Foundation
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
 #include "ubusd.h"
 #include "ubusd_obj.h"
 
@@ -31,7 +44,7 @@ static bool ubus_create_obj_method(struct ubus_object_type *type, struct blob_at
        if (!m)
                return false;
 
-       list_add(&m->list, &type->methods);
+       list_add_tail(&m->list, &type->methods);
        memcpy(m->data, attr, bloblen);
        m->name = blobmsg_name(m->data);
 
@@ -135,7 +148,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 +171,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);