Maarten Lankhorst : wininet: Fix retrieving raw headers.
Alexandre Julliard
julliard at winehq.org
Wed Feb 27 08:03:12 CST 2008
Module: wine
Branch: master
Commit: 5132fb4469a4914f6459486d69280b0745e11808
URL: http://source.winehq.org/git/wine.git/?a=commit;h=5132fb4469a4914f6459486d69280b0745e11808
Author: Maarten Lankhorst <m.b.lankhorst at gmail.com>
Date: Mon Feb 25 11:05:41 2008 -0800
wininet: Fix retrieving raw headers.
---
dlls/wininet/http.c | 23 ++++++++++++++---------
1 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c
index 86154a5..478763e 100644
--- a/dlls/wininet/http.c
+++ b/dlls/wininet/http.c
@@ -3080,6 +3080,20 @@ static INT HTTP_GetResponseHeaders(LPWININETHTTPREQW lpwhr)
} while (!strcmpW(status_code, szHundred)); /* ignore "100 Continue" responses */
+ /* Add status code */
+ HTTP_ProcessHeader(lpwhr, szStatus, status_code,
+ HTTP_ADDHDR_FLAG_REPLACE);
+
+ HeapFree(GetProcessHeap(),0,lpwhr->lpszVersion);
+ HeapFree(GetProcessHeap(),0,lpwhr->lpszStatusText);
+
+ lpwhr->lpszVersion= WININET_strdupW(buffer);
+ lpwhr->lpszStatusText = WININET_strdupW(status_text);
+
+ /* Restore the spaces */
+ *(status_code-1) = ' ';
+ *(status_text-1) = ' ';
+
/* regenerate raw headers */
while (cchRawHeaders + buflen + strlenW(szCrLf) > cchMaxRawHeaders)
{
@@ -3092,15 +3106,6 @@ static INT HTTP_GetResponseHeaders(LPWININETHTTPREQW lpwhr)
cchRawHeaders += sizeof(szCrLf)/sizeof(szCrLf[0])-1;
lpszRawHeaders[cchRawHeaders] = '\0';
- HTTP_ProcessHeader(lpwhr, szStatus, status_code,
- HTTP_ADDHDR_FLAG_REPLACE);
-
- HeapFree(GetProcessHeap(),0,lpwhr->lpszVersion);
- HeapFree(GetProcessHeap(),0,lpwhr->lpszStatusText);
-
- lpwhr->lpszVersion= WININET_strdupW(buffer);
- lpwhr->lpszStatusText = WININET_strdupW(status_text);
-
/* Parse each response line */
do
{
More information about the wine-cvs
mailing list