X-Git-Url: http://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Flp_json.c;h=6514cfe37f9d5e0dfb9bbe42d3f65652d326864e;hb=967d20c38c65689c96a0276e6f916b4f8e2617de;hp=7cd0a8635a1c564fce821947118fc0af2585535e;hpb=0ffa32c4daf36b425e7aca8caf1d2f81809be2ee;p=ppastats.git diff --git a/src/lp_json.c b/src/lp_json.c index 7cd0a86..6514cfe 100644 --- a/src/lp_json.c +++ b/src/lp_json.c @@ -1,21 +1,21 @@ /* - Copyright (C) 2011 jeanfi@gmail.com - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - 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. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301 USA -*/ + * Copyright (C) 2011-2012 jeanfi@gmail.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA + */ #define _XOPEN_SOURCE #include @@ -27,7 +27,7 @@ #include "lp_json.h" #include "lp_ws.h" -struct binary_package_publishing_history * +struct bpph * json_object_to_binary_package_publishing_history(json_object *o) { const char *binary_package_name; @@ -117,13 +117,11 @@ struct distro_series *json_object_to_distro_series(json_object *o) displayname); } -struct binary_package_publishing_history * * -json_object_to_binary_package_publishing_history_list(json_object *o) +struct bpph **json_object_to_bpph_list(json_object *o) { json_object *o_entries; int i, n, i2; - struct binary_package_publishing_history **entries; - struct binary_package_publishing_history *h; + struct bpph **entries, *h; const struct distro_arch_series *distro; o_entries = json_object_object_get(o, "entries"); @@ -144,7 +142,7 @@ json_object_to_binary_package_publishing_history_list(json_object *o) distro = get_distro_arch_series (h->distro_arch_series_link); - if (!distro->is_nominated_arch_indep) { + if (!distro || !distro->is_nominated_arch_indep) { binary_package_publishing_history_free(h); continue ; } @@ -174,9 +172,13 @@ json_object_to_daily_download_total(const char *d, json_object *o_c) static int json_object_get_fields_count(json_object *o) { int n = 0; + struct lh_entry *entry; - json_object_object_foreach(o, key, val) + entry = json_object_get_object(o)->head; + while (entry) { + entry = entry->next; n++; + } return n; }