%Fp printf format specifier

Uwe Bonnes bon at elektron.ikp.physik.tu-darmstadt.de
Thu Mar 3 03:12:31 CST 2005

>>>>> "Andreas" == Andreas Mohr <andi at rhlx01.fht-esslingen.de> writes:

    Andreas> Hi, On Wed, Mar 02, 2005 at 06:23:40PM +0100, Krzysztof Foltman
    Andreas> wrote:
    >> Dnia 02-03-2005, ??ro o godzinie 17:34 +0100, Uwe Bonnes napisa??(a):
    >> > uses a "%Fp" format spezifier. Running with native msvcrt, this
    >> seems to be > the same as "%p". However builtin msvcrt stumbles about
    >> the "superfluous" 'F".
    >> %p = pointer %Fp = far pointer? (as in segment:offset pointer in
    >> 16-bit Windows)
    Andreas> Oh, right, so there most likely IS a difference between %p and
    Andreas> %Fp, since %p will get shown as 0x12345678, whereas %Fp
    Andreas> probably gets rendered as something like 0x1234:0x5678.

    Andreas> To sum it up: a) we DO need to handle the F modifier b) it is
    Andreas> probably used to format a FAR pointer (0x1234:0x5678) c) it
    Andreas> should NOT be confused in any way with the lower-case-only
    Andreas> float type specifier

With native MSVCRT there is no difference between %Fp and %p.  You can see
with the output on the MS web page about _heapwalk. And you can try
quite easily in our test suite. Maybe a 16 bit msvcrt might give different

I think the best solution is to ignore it for now, justified by a test case.

Uwe Bonnes                bon at elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------

More information about the wine-devel mailing list