Hello all.

Some traces +mdi and version of strlenW that prints result
before exit:

...
trace:mdi:MDI_UpdateFrameText AFTER lstrcpyW(lpBuffer): L"Adobe PageMaker 6.5"

trace:mdi:MDI_UpdateFrameText BEFORE strcatW(L"Adobe PageMaker 6.5", L" - [")
strlenW(): 19 <-- right
trace:mdi:MDI_UpdateFrameText AFTER strcatW: L"Adobe PageMaker 6.5 - ["

trace:mdi:MDI_UpdateFrameText BEFORE strcatW(L"Adobe PageMaker 6.5 - [", L"")
strlenW(): 19 <-- wrong
trace:mdi:MDI_UpdateFrameText AFTER strcatW: L"Adobe PageMaker 6.5"

trace:mdi:MDI_UpdateFrameText BEFORE strcatW(L"Adobe PageMaker 6.5", L"]")
strlenW(): 19 <-- right
trace:mdi:MDI_UpdateFrameText AFTER strcatW: L"Adobe PageMaker 6.5]"
...

and more:

...
trace:mdi:MDI_UpdateFrameText AFTER lstrcpyW(lpBuffer): L"Adobe PageMaker 6.5"

trace:mdi:MDI_UpdateFrameText BEFORE strcatW(L"Adobe PageMaker 6.5", L" - [")
strlenW(): 19 <-- right
trace:mdi:MDI_UpdateFrameText AFTER strcatW: L"Adobe PageMaker 6.5 - ["

trace:mdi:MDI_UpdateFrameText BEFORE strcatW(L"Adobe PageMaker 6.5 - [", L"Untitled-1")
strlenW(): 19 <-- wrong
trace:mdi:MDI_UpdateFrameText AFTER strcatW: L"Adobe PageMaker 6.5Untitled-1"

trace:mdi:MDI_UpdateFrameText BEFORE strcatW(L"Adobe PageMaker 6.5Untitled-1", L"]")
strlenW(): 29 <-- right
trace:mdi:MDI_UpdateFrameText AFTER strcatW: L"Adobe PageMaker 6.5Untitled-1]"
...

Some workarounds:
1. Without -O2 - all right.
2. Disabling assembly in strlenW - all right.

Ideas?

Dmitry.


Reply via email to