Fix 'occurred' typo
[bpdyndnsd] / src / ip_addr_helper.cpp
index 3293ee1..fcc3680 100644 (file)
@@ -180,15 +180,19 @@ bool IPAddrHelper::is_local_ipv4(const string ip) const
 
 /**
  * Get the actual IP of this host through a conventional DNS query or through a IP webcheck URL if configured so.
+ * @param use_webcheck If true: Determine IP via web check
  * @param changed_to_online Indicates if we just went online
+ * @param wan_override_ip Override automatic WAN IP detection if not empty
  * @return A string representation of the actual IP in dotted format or an empty string if something went wrong.
  */
-string IPAddrHelper::get_actual_ip( bool use_webcheck, bool changed_to_online )
+string IPAddrHelper::get_actual_ip( bool use_webcheck, bool changed_to_online, const std::string &wan_override_ip )
 {
     string ip;
 
     if ( !WebcheckIpUrl.empty() && use_webcheck )
         ip = webcheck_ip(changed_to_online);
+    else if (!wan_override_ip.empty())
+        ip = wan_override_ip;
     else
         ip = get_local_wan_nic_ip();
 
@@ -507,7 +511,7 @@ int IPAddrHelper::perform_curl_operation(CURL * curl_easy_handle, const char* cu
     CURLcode curl_err_code;
     if ( (curl_err_code = curl_easy_perform(curl_easy_handle) ) != CURLE_OK )
     {
-        // CURL error occured
+        // CURL error occurred
         if ( (curl_err_code == CURLE_COULDNT_CONNECT) || (curl_err_code == CURLE_OPERATION_TIMEOUTED) || (curl_err_code == CURLE_COULDNT_RESOLVE_HOST) )
         {
             // In case of connection problems we should return 1, that the fallback url will be used.
@@ -613,11 +617,11 @@ CURL * IPAddrHelper::init_curl(string& curl_writedata_buff,char* curl_err_buff)
  * @param outBuffer Pointer to output stream.
  * @return The size received.
  */
-size_t IPAddrHelper::http_receive( const char *inBuffer, size_t size, size_t nmemb, string *outBuffer )
+size_t IPAddrHelper::http_receive( void *inBuffer, size_t size, size_t nmemb, string *outBuffer )
 {
-    outBuffer->append(inBuffer);
+    outBuffer->append(static_cast<char *>(inBuffer), size*nmemb);
     return (size*nmemb);
-}
+} //lint !e818
 
 
 /**