diff options
Diffstat (limited to 'Swiften/Network/MacOSXProxyProvider.cpp')
| -rw-r--r-- | Swiften/Network/MacOSXProxyProvider.cpp | 14 | 
1 files changed, 13 insertions, 1 deletions
| diff --git a/Swiften/Network/MacOSXProxyProvider.cpp b/Swiften/Network/MacOSXProxyProvider.cpp index 00fb478..3456c73 100644 --- a/Swiften/Network/MacOSXProxyProvider.cpp +++ b/Swiften/Network/MacOSXProxyProvider.cpp @@ -4,18 +4,27 @@   * See Documentation/Licenses/BSD-simplified.txt for more information.   */ +/* + * Copyright (c) 2013 Remko Tronçon + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ +  #include <Swiften/Base/Platform.h>  #include <Swiften/Network/MacOSXProxyProvider.h>  #include <stdio.h>  #include <stdlib.h>  #include <iostream> +#include <boost/numeric/conversion/cast.hpp>  #include <utility>  #ifndef SWIFTEN_PLATFORM_IPHONE  #include <SystemConfiguration/SystemConfiguration.h>  #endif +#pragma clang diagnostic ignored "-Wdisabled-macro-expansion" +  using namespace Swift;  #ifndef SWIFTEN_PLATFORM_IPHONE @@ -27,6 +36,7 @@ static HostAddressPort getFromDictionary(CFDictionaryRef dict, CFStringRef enabl  		const int i = 0;  		CFNumberRef zero = CFNumberCreate(kCFAllocatorDefault, kCFNumberIntType, &i);  		CFComparisonResult result = CFNumberCompare(numberValue, zero, NULL); +		CFRelease(zero);  		if(result != kCFCompareEqualTo) {  			int port = 0; @@ -44,7 +54,7 @@ static HostAddressPort getFromDictionary(CFDictionaryRef dict, CFStringRef enabl   					// length must be +1 for the ending zero; and the Docu of CFStringGetCString tells it like  					// if the string is toby the length must be at least 5.  					CFIndex length = CFStringGetLength(stringValue) + 1; -					buffer.resize(length); +					buffer.resize(boost::numeric_cast<size_t>(length));  					if(CFStringGetCString(stringValue, &buffer[0], length, kCFStringEncodingMacRoman)) {  						for(std::vector<char>::iterator iter = buffer.begin(); iter != buffer.end(); ++iter) {  							host += *iter; @@ -75,6 +85,7 @@ HostAddressPort MacOSXProxyProvider::getHTTPConnectProxy() const {  	CFDictionaryRef proxies = SCDynamicStoreCopyProxies(NULL);  	if(proxies != NULL) {  		result = getFromDictionary(proxies, kSCPropNetProxiesHTTPEnable, kSCPropNetProxiesHTTPProxy, kSCPropNetProxiesHTTPPort); +		CFRelease(proxies);  	}  #endif  	return result; @@ -86,6 +97,7 @@ HostAddressPort MacOSXProxyProvider::getSOCKS5Proxy() const {  	CFDictionaryRef proxies = SCDynamicStoreCopyProxies(NULL);  	if(proxies != NULL) {  		result = getFromDictionary(proxies, kSCPropNetProxiesSOCKSEnable, kSCPropNetProxiesSOCKSProxy, kSCPropNetProxiesSOCKSPort); +		CFRelease(proxies);  	}  #endif  	return result; | 
 Swift
 Swift