curl_xml plugin: Check for a curl_easy_perform() error first
authorDan Fandrich <dan@coneharvesters.com>
Wed, 6 Feb 2013 22:35:04 +0000 (23:35 +0100)
committerFlorian Forster <octo@collectd.org>
Sat, 16 Mar 2013 12:29:26 +0000 (13:29 +0100)
The value of CURLINFO_RESPONSE_CODE isn't valid otherwise.
Also, use the symbolic name CURLE_OK in all plugins where
appropriate.

Change-Id: I17ae9c7eea393ee4641296b5484c93809a662dd9
Signed-off-by: Florian Forster <octo@collectd.org>
src/apache.c
src/ascent.c
src/bind.c
src/curl.c
src/curl_json.c
src/curl_xml.c
src/nginx.c
src/write_http.c

index b1f9eaa..899c21e 100644 (file)
@@ -643,7 +643,7 @@ static int apache_read_host (user_data_t *user_data) /* {{{ */
        assert (st->curl != NULL);
 
        st->apache_buffer_fill = 0;
-       if (curl_easy_perform (st->curl) != 0)
+       if (curl_easy_perform (st->curl) != CURLE_OK)
        {
                ERROR ("apache: curl_easy_perform failed: %s",
                                st->apache_curl_error);
index 2378386..94a3938 100644 (file)
@@ -597,7 +597,7 @@ static int ascent_read (void) /* {{{ */
   }
 
   ascent_buffer_fill = 0;
-  if (curl_easy_perform (curl) != 0)
+  if (curl_easy_perform (curl) != CURLE_OK)
   {
     ERROR ("ascent plugin: curl_easy_perform failed: %s",
         ascent_curl_error);
index 32e9d04..19d95d4 100644 (file)
@@ -1405,7 +1405,7 @@ static int bind_read (void) /* {{{ */
   }
 
   bind_buffer_fill = 0;
-  if (curl_easy_perform (curl) != 0)
+  if (curl_easy_perform (curl) != CURLE_OK)
   {
     ERROR ("bind plugin: curl_easy_perform failed: %s",
         bind_curl_error);
index 39d8e02..3899aaa 100644 (file)
@@ -618,7 +618,7 @@ static int cc_read_page (web_page_t *wp) /* {{{ */
 
   wp->buffer_fill = 0;
   status = curl_easy_perform (wp->curl);
-  if (status != 0)
+  if (status != CURLE_OK)
   {
     ERROR ("curl plugin: curl_easy_perform failed with staus %i: %s",
         status, wp->curl_errbuf);
index a799790..24e1df1 100644 (file)
@@ -818,6 +818,14 @@ static int cj_curl_perform (cj_t *db, CURL *curl) /* {{{ */
   }
 
   status = curl_easy_perform (curl);
+  if (status != CURLE_OK)
+  {
+    ERROR ("curl_json plugin: curl_easy_perform failed with status %i: %s (%s)",
+           status, db->curl_errbuf, url);
+    yajl_free (db->yajl);
+    db->yajl = yprev;
+    return (-1);
+  }
 
   curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &url);
   curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &rc);
@@ -832,15 +840,6 @@ static int cj_curl_perform (cj_t *db, CURL *curl) /* {{{ */
     return (-1);
   }
 
-  if (status != 0)
-  {
-    ERROR ("curl_json plugin: curl_easy_perform failed with status %i: %s (%s)",
-           status, db->curl_errbuf, url);
-    yajl_free (db->yajl);
-    db->yajl = yprev;
-    return (-1);
-  }
-
 #if HAVE_YAJL_V2
   status = yajl_complete_parse(db->yajl);
 #else
index c22172a..75f5cc3 100644 (file)
@@ -553,6 +553,12 @@ static int cx_curl_perform (cx_t *db, CURL *curl) /* {{{ */
 
   db->buffer_fill = 0; 
   status = curl_easy_perform (curl);
+  if (status != CURLE_OK)
+  {
+    ERROR ("curl_xml plugin: curl_easy_perform failed with status %i: %s (%s)",
+           status, db->curl_errbuf, url);
+    return (-1);
+  }
 
   curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &url);
   curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &rc);
@@ -565,13 +571,6 @@ static int cx_curl_perform (cx_t *db, CURL *curl) /* {{{ */
     return (-1);
   }
 
-  if (status != 0)
-  {
-    ERROR ("curl_xml plugin: curl_easy_perform failed with status %i: %s (%s)",
-           status, db->curl_errbuf, url);
-    return (-1);
-  }
-
   ptr = db->buffer;
 
   status = cx_parse_stats_xml(BAD_CAST ptr, db);
index a73e4d2..a0fa74f 100644 (file)
@@ -214,7 +214,7 @@ static int nginx_read (void)
     return (-1);
 
   nginx_buffer_len = 0;
-  if (curl_easy_perform (curl) != 0)
+  if (curl_easy_perform (curl) != CURLE_OK)
   {
     WARNING ("nginx plugin: curl_easy_perform failed: %s", nginx_curl_error);
     return (-1);
index e08594c..62c73b0 100644 (file)
@@ -88,7 +88,7 @@ static int wh_send_buffer (wh_callback_t *cb) /* {{{ */
 
         curl_easy_setopt (cb->curl, CURLOPT_POSTFIELDS, cb->send_buffer);
         status = curl_easy_perform (cb->curl);
-        if (status != 0)
+        if (status != CURLE_OK)
         {
                 ERROR ("write_http plugin: curl_easy_perform failed with "
                                 "status %i: %s",