[Bug 31051] HttpQueryInfo() erroneously ignores lpdwIndex argument for some info levels

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Jun 30 18:40:53 CDT 2012


http://bugs.winehq.org/show_bug.cgi?id=31051

--- Comment #3 from Ron van der Wal <support at tarma.com> 2012-06-30 18:40:53 CDT ---
Yes, the Publish or Perish [PoP] software (http://www.harzing.com/pop.htm) came
across this problem.

We added an internal workaround for two Wine bugs in the PoP code to make sure
that it would not get into an infinite loop, but that should not have been
necessary.

The attached source code (taken verbatim from PoP) shows how HttpQueryInfo() is
used and already includes two (2) workarounds for anomalous Wine behavior:

(1) For some values of dwInfoLevel, Wine's HttpQueryInfo() returns a nonzero
(i.e., True) function value but zero (0) bytes of data; this should have been a
FALSE function result because the requested header apparently doesn't exist.

WORKAROUND: We detect the case of dwReqSize == 0 separately

(2) For other values of dwInfoLevel, Wine's HttpQueryInfo() ignores the value
in *lpdwIndex as reported earlier.

WORKAROUND: We calculate and remember a Fletcher-32 checksum on the returned
data and compare that with the next iteration's checksum to see if Wine returns
the same data; if so, we break the enumeration.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list