Jacek Caban : wininet: Move InternetQueryOption( INTERNET_OPTION_DATAFILE_NAME).

Alexandre Julliard julliard at winehq.org
Wed Mar 12 06:44:19 CDT 2008


Module: wine
Branch: master
Commit: ce6a2289c6aa859f7c717476b498abd1f7a9819b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=ce6a2289c6aa859f7c717476b498abd1f7a9819b

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed Mar 12 02:24:06 2008 +0100

wininet: Move InternetQueryOption(INTERNET_OPTION_DATAFILE_NAME).

---

 dlls/wininet/http.c     |   29 +++++++++++++++++++++++++++++
 dlls/wininet/internet.c |   45 ---------------------------------------------
 2 files changed, 29 insertions(+), 45 deletions(-)

diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c
index f418293..aa8aecd 100644
--- a/dlls/wininet/http.c
+++ b/dlls/wininet/http.c
@@ -1449,6 +1449,35 @@ static DWORD HTTPREQ_QueryOption(WININETHANDLEHEADER *hdr, DWORD option, void *b
             return ERROR_SUCCESS;
         }
     }
+
+    case INTERNET_OPTION_DATAFILE_NAME: {
+        DWORD req_size;
+
+        TRACE("INTERNET_OPTION_DATAFILE_NAME\n");
+
+        if(!req->lpszCacheFile) {
+            *size = 0;
+            return ERROR_INTERNET_ITEM_NOT_FOUND;
+        }
+
+        if(unicode) {
+            req_size = (lstrlenW(req->lpszCacheFile)+1) * sizeof(WCHAR);
+            if(*size < req_size)
+                return ERROR_INSUFFICIENT_BUFFER;
+
+            *size = req_size;
+            memcpy(buffer, req->lpszCacheFile, *size);
+            return ERROR_SUCCESS;
+        }else {
+            req_size = WideCharToMultiByte(CP_ACP, 0, req->lpszCacheFile, -1, NULL, 0, NULL, NULL);
+            if (req_size > *size)
+                return ERROR_INSUFFICIENT_BUFFER;
+
+            *size = WideCharToMultiByte(CP_ACP, 0, req->lpszCacheFile,
+                    -1, buffer, *size, NULL, NULL);
+            return ERROR_SUCCESS;
+        }
+    }
     }
 
     FIXME("Not implemented option %d\n", option);
diff --git a/dlls/wininet/internet.c b/dlls/wininet/internet.c
index 748c518..89330f5 100644
--- a/dlls/wininet/internet.c
+++ b/dlls/wininet/internet.c
@@ -1872,51 +1872,6 @@ static BOOL INET_QueryOptionHelper(BOOL bIsUnicode, HINTERNET hInternet, DWORD d
             FIXME("INTERNET_OPTION_USER_AGENT\n");
             break;
 
-        case INTERNET_OPTION_DATAFILE_NAME:
-        {
-            TRACE("INTERNET_OPTION_DATAFILE_NAME\n");
-            if (!lpwhh)
-            {
-                WARN("Invalid hInternet handle\n");
-                INTERNET_SetLastError(ERROR_INVALID_HANDLE);
-                return FALSE;
-            }
-            if (lpwhh->htype == WH_HHTTPREQ)
-            {
-                LPWININETHTTPREQW lpreq = (LPWININETHTTPREQW) lpwhh;
-                DWORD size;
-
-                if(!lpreq->lpszCacheFile) {
-                    *lpdwBufferLength = 0;
-                    INTERNET_SetLastError(ERROR_INTERNET_ITEM_NOT_FOUND);
-                }
-                else if(bIsUnicode)
-                {
-                    size = (lstrlenW(lpreq->lpszCacheFile)+1) * sizeof(WCHAR);
-                    if (*lpdwBufferLength < size)
-                        INTERNET_SetLastError(ERROR_INSUFFICIENT_BUFFER);
-                    else
-                    {
-                        memcpy(lpBuffer, lpreq->lpszCacheFile, size);
-                        bSuccess = TRUE;
-                    }
-                    *lpdwBufferLength = size;
-                }
-                else
-                {
-                    size = WideCharToMultiByte(CP_ACP, 0, lpreq->lpszCacheFile, -1, NULL, 0, NULL, NULL);
-                    if (size > *lpdwBufferLength) {
-                        INTERNET_SetLastError(ERROR_INSUFFICIENT_BUFFER);
-                    }else {
-                        *lpdwBufferLength = WideCharToMultiByte(CP_ACP, 0, lpreq->lpszCacheFile,
-                                -1, lpBuffer, *lpdwBufferLength, NULL, NULL);
-                        bSuccess = TRUE;
-                    }
-                }
-            }
-            break;
-        }
-
         case INTERNET_OPTION_HTTP_VERSION:
         {
             if (*lpdwBufferLength < sizeof(HTTP_VERSION_INFO))




More information about the wine-cvs mailing list