Fedora 30 packaging fix issu
[src/app-framework-binder.git] / src / afb-api-v3.c
index 7f63b6e..1fc6ebe 100644 (file)
@@ -158,37 +158,38 @@ struct json_object *afb_api_v3_make_description_openAPIv3(struct afb_api_v3 *api
        json_object_object_add(i, "version", json_object_new_string("0.0.0"));
        json_object_object_add(i, "description", json_object_new_string(api->info));
 
+       buffer[0] = '/';
+       buffer[sizeof buffer - 1] = 0;
+
        p = json_object_new_object();
        json_object_object_add(r, "paths", p);
        iter = api->verbs;
        end = iter + api->count;
        while (iter != end) {
                verb = *iter++;
-               buffer[0] = '/';
-               strncpy(buffer + 1, verb->verb, sizeof buffer - 1);
+               strncpy(buffer + 1, verb->verb, sizeof buffer - 2);
                json_object_object_add(p, buffer, describe_verb_v3(verb));
        }
        verb = api->verbsv3;
        if (verb)
                while(verb->verb) {
-                       buffer[0] = '/';
-                       strncpy(buffer + 1, verb->verb, sizeof buffer - 1);
+                       strncpy(buffer + 1, verb->verb, sizeof buffer - 2);
                        json_object_object_add(p, buffer, describe_verb_v3(verb));
                        verb++;
                }
        return r;
 }
 
-struct afb_api_v3 *afb_api_v3_create(
-               struct afb_apiset *declare_set,
+struct afb_api_v3 *afb_api_v3_create(struct afb_apiset *declare_set,
                struct afb_apiset *call_set,
                const char *apiname,
                const char *info,
                int noconcurrency,
                int (*preinit)(void*, struct afb_api_x3 *),
                void *closure,
-               int copy_info
-)
+               int copy_info,
+               struct afb_export* creator,
+               const char* path)
 {
        struct afb_api_v3 *api;
 
@@ -206,7 +207,7 @@ struct afb_api_v3 *afb_api_v3_create(
        else
                api->info = info;
 
-       api->export = afb_export_create_v3(declare_set, call_set, apiname, api);
+       api->export = afb_export_create_v3(declare_set, call_set, apiname, api, creator, path);
        if (!api->export)
                goto oom2;
 
@@ -400,6 +401,6 @@ static int init_binding(void *closure, struct afb_api_x3 *api)
 
 struct afb_api_v3 *afb_api_v3_from_binding(const struct afb_binding_v3 *desc, struct afb_apiset *declare_set, struct afb_apiset * call_set)
 {
-       return afb_api_v3_create(declare_set, call_set, desc->api, desc->info, desc->noconcurrency, init_binding, (void*)desc, 0);
+       return afb_api_v3_create(declare_set, call_set, desc->api, desc->info, desc->noconcurrency, init_binding, (void*)desc, 0, NULL, NULL);
 }