X-Git-Url: http://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Flp_ws.c;h=3de408b6ad7095b8991c50fafd494aa9d9354bad;hb=301be453975067183367ea8c29069476bf1b45ff;hp=4549d92c8ab4b2855cae533459e9b5062ca08198;hpb=fa460465ab78c48ace6d8563e6d35917b30fab09;p=ppastats.git diff --git a/src/lp_ws.c b/src/lp_ws.c index 4549d92..3de408b 100644 --- a/src/lp_ws.c +++ b/src/lp_ws.c @@ -62,15 +62,8 @@ static size_t cbk_curl(void *buffer, size_t size, size_t nmemb, void *userp) return realsize; } -static char *fetch_url(const char *url) +static void init() { - struct ucontent *content = malloc(sizeof(struct ucontent)); - char *result; - long code; - int retries; - - log_debug(_("fetch_url(): %s"), url); - if (!curl) { log_debug(_("initializing CURL")); curl_global_init(CURL_GLOBAL_ALL); @@ -79,6 +72,18 @@ static char *fetch_url(const char *url) if (!curl) exit(EXIT_FAILURE); +} + +static char *fetch_url(const char *url) +{ + struct ucontent *content = malloc(sizeof(struct ucontent)); + char *result; + long code; + int retries; + + log_debug(_("fetch_url(): %s"), url); + + init(); result = NULL; @@ -106,12 +111,11 @@ static char *fetch_url(const char *url) case 502: case 503: case 504: - if (retries) { - log_err(_("Fetch failed with code %ld " - "for URL %s"), - code, - url); + log_err(_("Fetch failed with code %ld for URL %s"), + code, + url); + if (retries) { log_debug(_("Wait 5s before retry")); sleep(5); @@ -119,8 +123,12 @@ static char *fetch_url(const char *url) retries--; goto retrieve; } + + break; default: - log_err(_("Fetch failed: %ld"), code); + log_err(_("Fetch failed with code %ld for URL %s"), + code, + url); } }