http://bugs.winehq.org/show_bug.cgi?id=16269
Summary: InternetCreateUrl does not encode URL_COMPONENTS.lpszExtraInfo Product: Wine Version: 1.1.9 Platform: PC-x86-64 OS/Version: Windows XP Status: UNCONFIRMED Severity: enhancement Priority: P2 Component: wininet AssignedTo: wine-bugs@winehq.org ReportedBy: winehq.5.tahtu@spamgourmet.com
InternetCreateUrl does not encode URL_COMPONENTS.lpszExtraInfo it just ignore this value.
How to reproduce (I tried to write a C++ code, but since I code C++ very rarely please excuse small syntax problems):
URL_COMPONENTS URLComponents; char[128] URL; DWORD Size;
ZeroMemory(&URLComponents, SizeOf(URLComponents)); URLComponents.lpszScheme = 'http'; URLComponents.dwSchemeLength = strlen(URLComponents.lpszExtraInfo); URLComponents.lpszHostName = 'localhost'; URLComponents.dwHostNameLength = strlen(URLComponents.lpszExtraInfo); URLComponents.nPort = 80; URLComponents.lpszUrlPath = '/'; URLComponents.dwUrlPathLength = strlen(URLComponents.lpszUrlPath); URLComponents.lpszExtraInfo = '?test=123'; URLComponents.dwExtraInfoLength = strlen(URLComponents.lpszExtraInfo);
Size = 128; InternetCreateUrl(URLComponents, ICU_ESCAPE, URL, Size);
URL has the value 'http://localhost/' instead of 'http://localhost/?test=123' under Microsoft Windows.