CMakeLists.txt: bump minimum cmake version
[project/ubus.git] / ubusd_obj.c
index 914de05adbb2fdcd63848fdf3bf51c2a7729eb80..dd44882e08d57e44ea983a1fdbbed58897204757 100644 (file)
@@ -20,13 +20,12 @@ struct avl_tree path;
 
 static void ubus_unref_object_type(struct ubus_object_type *type)
 {
-       struct ubus_method *m;
+       struct ubus_method *m, *tmp;
 
        if (--type->refcount > 0)
                return;
 
-       while (!list_empty(&type->methods)) {
-               m = list_first_entry(&type->methods, struct ubus_method, list);
+       list_for_each_entry_safe(m, tmp, &type->methods, list) {
                list_del(&m->list);
                free(m);
        }
@@ -55,7 +54,7 @@ static struct ubus_object_type *ubus_create_obj_type(struct blob_attr *sig)
 {
        struct ubus_object_type *type;
        struct blob_attr *pos;
-       int rem;
+       size_t rem;
 
        type = calloc(1, sizeof(*type));
        if (!type)
@@ -232,4 +231,5 @@ static void __constructor ubusd_obj_init(void)
        ubus_init_string_tree(&path, false);
        ubusd_event_init();
        ubusd_acl_init();
+       ubusd_monitor_init();
 }