[PATCH 3/3] Properly handle return value from registry API calls

Nikolay Sivov nsivov at codeweavers.com
Thu Dec 2 11:56:57 CST 2010


---
 dlls/wininet/ftp.c      |    2 +-
 dlls/wininet/internet.c |   24 ++++++++++++++----------
 2 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/dlls/wininet/ftp.c b/dlls/wininet/ftp.c
index 80cc6f0..9ddf20e 100644
--- a/dlls/wininet/ftp.c
+++ b/dlls/wininet/ftp.c
@@ -2514,7 +2514,7 @@ HINTERNET FTP_Connect(appinfo_t *hIC, LPCWSTR lpszServerName,
         lpwfs->lpszUserName = heap_strdupW(szDefaultUsername);
 
         RegOpenKeyW(HKEY_CURRENT_USER, szKey, &key);
-        if (RegQueryValueExW(key, szValue, NULL, NULL, (LPBYTE)szPassword, &len)) {
+        if (RegQueryValueExW(key, szValue, NULL, NULL, (LPBYTE)szPassword, &len) != ERROR_SUCCESS) {
             /* Nothing in the registry, get the username and use that as the password */
             if (!GetUserNameW(szPassword, &len)) {
                 /* Should never get here, but use an empty password as failsafe */
diff --git a/dlls/wininet/internet.c b/dlls/wininet/internet.c
index 95776df..55f94d1 100644
--- a/dlls/wininet/internet.c
+++ b/dlls/wininet/internet.c
@@ -332,10 +332,11 @@ static LONG INTERNET_SaveProxySettings( proxyinfo_t *lpwpi )
     HKEY key;
     LONG ret;
 
-    if ((ret = RegOpenKeyW( HKEY_CURRENT_USER, szInternetSettings, &key )))
-        return ret;
+    ret = RegOpenKeyW( HKEY_CURRENT_USER, szInternetSettings, &key );
+    if (ret != ERROR_SUCCESS) return ret;
 
-    if ((ret = RegSetValueExW( key, szProxyEnable, 0, REG_DWORD, (BYTE*)&lpwpi->dwProxyEnabled, sizeof(DWORD))))
+    ret = RegSetValueExW( key, szProxyEnable, 0, REG_DWORD, (BYTE*)&lpwpi->dwProxyEnabled, sizeof(DWORD));
+    if (ret != ERROR_SUCCESS)
     {
         RegCloseKey( key );
         return ret;
@@ -343,7 +344,8 @@ static LONG INTERNET_SaveProxySettings( proxyinfo_t *lpwpi )
 
     if (lpwpi->lpszProxyServer)
     {
-        if ((ret = RegSetValueExW( key, szProxyServer, 0, REG_SZ, (BYTE*)lpwpi->lpszProxyServer, sizeof(WCHAR) * (lstrlenW(lpwpi->lpszProxyServer) + 1))))
+        ret = RegSetValueExW( key, szProxyServer, 0, REG_SZ, (BYTE*)lpwpi->lpszProxyServer, sizeof(WCHAR) * (lstrlenW(lpwpi->lpszProxyServer) + 1));
+        if (ret != ERROR_SUCCESS)
         {
             RegCloseKey( key );
             return ret;
@@ -351,7 +353,8 @@ static LONG INTERNET_SaveProxySettings( proxyinfo_t *lpwpi )
     }
     else
     {
-        if ((ret = RegDeleteValueW( key, szProxyServer )))
+        ret = RegDeleteValueW( key, szProxyServer );
+        if (ret != ERROR_SUCCESS)
         {
             RegCloseKey( key );
             return ret;
@@ -514,14 +517,15 @@ static LONG INTERNET_LoadProxySettings( proxyinfo_t *lpwpi )
     LPCSTR envproxy;
     LONG ret;
 
-    if ((ret = RegOpenKeyW( HKEY_CURRENT_USER, szInternetSettings, &key )))
-        return ret;
+    ret = RegOpenKeyW( HKEY_CURRENT_USER, szInternetSettings, &key );
+    if (ret != ERROR_SUCCESS) return ret;
 
     len = sizeof(DWORD);
-    if (RegQueryValueExW( key, szProxyEnable, NULL, &type, (BYTE *)&lpwpi->dwProxyEnabled, &len ) || type != REG_DWORD)
+    if (RegQueryValueExW( key, szProxyEnable, NULL, &type, (BYTE *)&lpwpi->dwProxyEnabled, &len ) != ERROR_SUCCESS || type != REG_DWORD)
     {
         lpwpi->dwProxyEnabled = 0;
-        if((ret = RegSetValueExW( key, szProxyEnable, 0, REG_DWORD, (BYTE *)&lpwpi->dwProxyEnabled, sizeof(DWORD) )))
+        ret = RegSetValueExW( key, szProxyEnable, 0, REG_DWORD, (BYTE *)&lpwpi->dwProxyEnabled, sizeof(DWORD));
+        if (ret != ERROR_SUCCESS)
         {
             RegCloseKey( key );
             return ret;
@@ -533,7 +537,7 @@ static LONG INTERNET_LoadProxySettings( proxyinfo_t *lpwpi )
         TRACE("Proxy is enabled.\n");
 
         /* figure out how much memory the proxy setting takes */
-        if (!RegQueryValueExW( key, szProxyServer, NULL, &type, NULL, &len ) && len && (type == REG_SZ))
+        if ((RegQueryValueExW( key, szProxyServer, NULL, &type, NULL, &len ) == ERROR_SUCCESS) && len && (type == REG_SZ))
         {
             LPWSTR szProxy, p;
             static const WCHAR szHttp[] = {'h','t','t','p','=',0};
-- 
1.5.6.5



--------------050907040508010206010900--



More information about the wine-patches mailing list