https://bugs.winehq.org/show_bug.cgi?id=41956
--- Comment #6 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to Fabian Maurer from comment #5)
MSDN: "If an E_POINTER error code is returned, the buffer was too small to hold the result, and the value referenced by pcchEscaped is set to the required number of characters in the buffer."
rc = UrlEscapeW(path, NULL, &needed, URL_ESCAPE_SPACES_ONLY); if (rc == E_POINTER) needed = strlenW(path)+1;
That doesn't seem quite right to me. Sure the "!=" wasn't right? It works if I change that back.
I believe you are right. The patch changed != to == The correct is != because when E_POINTER is returned the variable needed already contains the expected value.