]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/sysext/sysext.c
varlink,json: introduce new varlink_dispatch() helper
[thirdparty/systemd.git] / src / sysext / sysext.c
index 4d720199662e3eb5b79bba95e7c45fc5b4bc9eb4..858868c0c5147811e94cc7af127d4f1a97008efd 100644 (file)
@@ -377,8 +377,8 @@ static int vl_method_unmerge(Varlink *link, JsonVariant *parameters, VarlinkMeth
 
         assert(link);
 
-        r = json_dispatch(parameters, dispatch_table, NULL, 0, &p);
-        if (r < 0)
+        r = varlink_dispatch(link, parameters, dispatch_table, &p);
+        if (r != 0)
                 return r;
 
         r = parse_image_class_parameter(link, p.class, &image_class, &hierarchies);
@@ -1115,17 +1115,12 @@ static int parse_merge_parameters(Varlink *link, JsonVariant *parameters, Method
                 { "noexec",   JSON_VARIANT_BOOLEAN, json_dispatch_boolean,      offsetof(MethodMergeParameters, noexec),    0 },
                 {}
         };
-        int r;
 
         assert(link);
         assert(parameters);
         assert(p);
 
-        r = json_dispatch(parameters, dispatch_table, NULL, 0, p);
-        if (r < 0)
-                return r;
-
-        return 0;
+        return varlink_dispatch(link, parameters, dispatch_table, p);
 }
 
 static int vl_method_merge(Varlink *link, JsonVariant *parameters, VarlinkMethodFlags flags, void *userdata) {
@@ -1142,7 +1137,7 @@ static int vl_method_merge(Varlink *link, JsonVariant *parameters, VarlinkMethod
         assert(link);
 
         r = parse_merge_parameters(link, parameters, &p);
-        if (r < 0)
+        if (r != 0)
                 return r;
 
         r = parse_image_class_parameter(link, p.class, &image_class, &hierarchies);
@@ -1245,7 +1240,7 @@ static int vl_method_refresh(Varlink *link, JsonVariant *parameters, VarlinkMeth
         assert(link);
 
         r = parse_merge_parameters(link, parameters, &p);
-        if (r < 0)
+        if (r != 0)
                 return r;
 
         r = parse_image_class_parameter(link, p.class, &image_class, &hierarchies);
@@ -1322,8 +1317,8 @@ static int vl_method_list(Varlink *link, JsonVariant *parameters, VarlinkMethodF
 
         assert(link);
 
-        r = json_dispatch(parameters, dispatch_table, NULL, 0, &p);
-        if (r < 0)
+        r = varlink_dispatch(link, parameters, dispatch_table, &p);
+        if (r != 0)
                 return r;
 
         r = parse_image_class_parameter(link, p.class, &image_class, NULL);