No way that void* stuff will work.
authorcantor <cantor@de75baf8-a10c-0410-a50a-987c0e22f00f>
Thu, 2 Aug 2007 20:20:28 +0000 (20:20 +0000)
committercantor <cantor@de75baf8-a10c-0410-a50a-987c0e22f00f>
Thu, 2 Aug 2007 20:20:28 +0000 (20:20 +0000)
git-svn-id: https://svn.middleware.georgetown.edu/cpp-xmltooling/trunk@367 de75baf8-a10c-0410-a50a-987c0e22f00f

xmltooling/soap/SOAPTransport.h
xmltooling/soap/impl/CURLSOAPTransport.cpp

index 3f0644b..dabea8d 100644 (file)
@@ -137,11 +137,11 @@ namespace xmltooling {
          * Without the proper knowledge and inputs, crashes may result.
          * 
          * @param provider  name of the SOAPTransport class the caller believes is in use
-         * @param option    implementation-specific data containing the option to set
-         * @param value     implementation- and option-specific data to use
+         * @param option    implementation-specific string containing the option to set
+         * @param value     implementation- and option-specific string to use
          * @return  true iff the transport supports the option and value supplied
          */
-        virtual bool setProviderOption(const char* provider, void* option, void* value) {
+        virtual bool setProviderOption(const char* provider, const char* option, const char* value) {
             return false;
         }
         
index 319b16f..a1acf81 100644 (file)
@@ -146,17 +146,17 @@ namespace xmltooling {
             return true;
         }
 
-        bool setProviderOption(const char* provider, void* option, void* value) {
+        bool setProviderOption(const char* provider, const char* option, const char* value) {
             if (!provider || strcmp(provider, "CURL"))
                 return false;
             // For libcurl, the option is an enum and the value type depends on the option.
-            CURLoption opt = static_cast<CURLoption>(reinterpret_cast<long>(option));
+            CURLoption opt = static_cast<CURLoption>(strtol(option, NULL, 10));
             if (opt < CURLOPTTYPE_OBJECTPOINT)
-                return (curl_easy_setopt(m_handle, opt, reinterpret_cast<long>(value))==CURLE_OK);
+                return (curl_easy_setopt(m_handle, opt, strtol(value, NULL, 10)) == CURLE_OK);
             else if (opt < CURLOPTTYPE_OFF_T)
-                return (curl_easy_setopt(m_handle, opt, value)==CURLE_OK);
-            else if (sizeof(void*) == sizeof(curl_off_t))
-                return (curl_easy_setopt(m_handle, opt, reinterpret_cast<curl_off_t>(value))==CURLE_OK);
+                return (curl_easy_setopt(m_handle, opt, value) == CURLE_OK);
+            else if (sizeof(curl_off_t) == sizeof(long))
+                return (curl_easy_setopt(m_handle, opt, strtol(value, NULL, 10)) == CURLE_OK);
             return false;
         }