clean up HttpGet
authorRobin Gareus <robin@gareus.org>
Mon, 18 Jul 2016 17:19:35 +0000 (19:19 +0200)
committerRobin Gareus <robin@gareus.org>
Mon, 18 Jul 2016 17:21:05 +0000 (19:21 +0200)
gtk2_ardour/ardour_http.cc
gtk2_ardour/ardour_http.h

index 569c0e2197120a4b65864b13b12ab7cecd888e7c..3ffea61b33013647fa8097663677b8794fef8b69 100644 (file)
@@ -141,7 +141,8 @@ HttpGet::~HttpGet ()
 char*
 HttpGet::get (const char* url)
 {
-       if (!_curl) {
+       _status = _result = -1;
+       if (!_curl || !url) {
                return NULL;
        }
 
@@ -151,7 +152,9 @@ HttpGet::get (const char* url)
 
        if (!persist) {
                free (mem.data);
-       }
+       } // otherwise caller is expected to have free()d or re-used it.
+
+       mem.data = NULL;
        mem.size = 0;
 
        curl_easy_setopt (_curl, CURLOPT_URL, url);
index cabcb3d5bc06c9fa34c430d77e5e4693801a555c..06cf46f408751851827455363a7152330292189d 100644 (file)
@@ -39,7 +39,7 @@ class HttpGet {
 
        std::string get (const std::string& url) {
                char *rv = get (url.c_str ());
-               return rv ? std::string (rv) : std::string ();
+               return rv ? std::string (rv) : std::string ("");
        }
 
        char* data () const { return mem.data; }