http://bugs.winehq.org/show_bug.cgi?id=8095
------- Additional Comments From focht@gmx.net 2007-19-04 15:14 ------- Hello,
make sure .wine directory is clean use recent git snapshot: wine-0.9.35-69-g55a18d7 download installer 3.04 from:
http://www.powerstandards.com/PQTeachingToy/Install_Power_Quality_Teaching_T...
Install. Start. *Boom* If you look at the VarTokenizeFormatString() source code in dlls/oleaut32/varformat.c you can easily construct a test case which leads to crash.
I even post a small code snippet for you (1st case is just for sake, 2nd case is the real one)
--- code snippet --- VARIANT var1, var2; HRESULT hr; int intVal; BSTR bsResult1, bsResult2;
var1.vt = VT_R8; var1.dblVal = 123456789.12; hr = ::VarFormat( &var1, OLESTR("### ### ### ###.00"), 0, 0, 0, &bsResult1); printf( "result: %S\n", ( hr == S_OK) ? bsResult1 : OLESTR("FAIL!")); ::SysFreeString(bsResult1);
intVal = 100; var2.vt = VT_I2|VT_BYREF; var2.pintVal = &intVal; hr = ::VarFormat( &var2, OLESTR("##rd harmonic"), 0, 0, 0, &bsResult2); printf( "result: %S\n", ( hr == S_OK) ? bsResult2 : OLESTR("FAIL!")); ::SysFreeString(bsResult2); --- code snippet ---
Output windows:
result: 123 456 789,12 result: 100rd harmonic
Output wine:
result: 123 456 789.12 err:variant:VARIANT_FormatDate Unknown token 0x35! result: FAIL!
More evidence needed?
Regards