From: Jean-Philippe Orsini Date: Sat, 5 May 2012 19:12:08 +0000 (+0000) Subject: More crash-resistant on network failure (patch from Lekensteyn) X-Git-Tag: v1.3.0~114 X-Git-Url: http://git.wpitchoune.net/gitweb/?p=ppastats.git;a=commitdiff_plain;h=9d8ca122223ad917f61d4f8f5e32f809b5926222 More crash-resistant on network failure (patch from Lekensteyn) --- diff --git a/NEWS b/NEWS index 587d608..7f15435 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,6 @@ * v0.0.7 +* More crash-resistant on network failure (patch from Lekensteyn) +* Retry HTTP request on LP Oops (patch from Lekensteyn) * v0.0.6 ** added support of ie < 9. diff --git a/src/lp_json.c b/src/lp_json.c index f6bbbcd..bb876f8 100644 --- a/src/lp_json.c +++ b/src/lp_json.c @@ -144,7 +144,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 ; } diff --git a/src/ppastats.c b/src/ppastats.c index fdcd6e1..38f6dd0 100644 --- a/src/ppastats.c +++ b/src/ppastats.c @@ -258,11 +258,20 @@ create_ppa_stats(const char *owner, ppa->daily_download_totals = NULL; ppa->download_count = 0; - h_cur = history; - while (*h_cur) { + for (h_cur = history; *h_cur; ++h_cur) { h = *h_cur; totals = get_daily_download_totals(h->self_link); + if (!totals) { + fprintf(stderr, "Failed to retrieve download totals" + " for %s\n", h->self_link); + continue; + } count = get_download_count(h->self_link); + if (count == -1) { + fprintf(stderr, "Failed to retrieve download count" + " for %s\n", h->self_link); + count = 0; + } pkg_name = h->binary_package_name; pkg_version = h->binary_package_version; arch_series @@ -293,8 +302,6 @@ create_ppa_stats(const char *owner, pkg_add_distro(pkg, distro_series->name, count, totals); daily_download_total_list_free(totals); - - h_cur++; } binary_package_publishing_history_list_free(history);