diff options
-rw-r--r-- | pikul.c | 21 |
1 files changed, 10 insertions, 11 deletions
@@ -1,4 +1,3 @@ -#include <string.h> #include "shipping.h" #include "handler.h" @@ -33,6 +32,16 @@ void pikul_init(enum pikul_company company, char *provisions[]) tokener = json_tokener_new(); } +void recurse(struct json_object *outer, const char *keys[], struct json_object **services) +{ + struct json_object *inner = NULL; + json_object_object_get_ex(outer, *keys, &inner); + if (*++keys) + recurse(inner, keys, services); + else + *services = inner; +} + struct pikul_services *pikul_services(const char *origin, const char *destination, double weight) { struct pikul_services *services = NULL; @@ -103,13 +112,3 @@ void pikul_cleanup() curl_easy_cleanup(curl); curl_global_cleanup(); } - -void recurse(struct json_object *outer, const char *keys[], struct json_object **services) -{ - struct json_object *inner = NULL; - json_object_object_get_ex(outer, *keys, &inner); - if (*++keys) - recurse(inner, keys, services); - else - *services = inner; -} |