msvcrt incompatibility in Origin 6.0 when saving documents
Uwe Bonnes
bon at elektron.ikp.physik.tu-darmstadt.de
Wed Nov 30 11:02:25 CST 2005
>>>>> "Olaf" == Olaf Leidinger <leidola at newcon.de> writes:
...
Olaf> By the way... what is the difference between "retval" and "ret"?
Olaf> It sounds the same.
ret means the address of the piece of code calling the function
retval is the actual return value of the function returning to the
caller. With a void function (like ftime
time.c: * _ftime (MSVCRT.@)
time.c:void _ftime(struct MSVCRT__timeb *buf)
)
it doesn't make sense.
B.t.w., vararg functions (look in msvcrt.spec) don't appear in the relay
trace.
Olaf> There are still some megs in front of me... Perhaps you could
Olaf> comment my discoveries so far. Personally I think they aren't very
Olaf> important, but I really don't know much about the win32 api, so I
Olaf> can't tell...
The difference in the cipow seems of importance (
math.c:double _CIpow(void)
).
I am not sure about a double as retval. Perhaps you can instrument
dll/msvcrt/math.c with the patch below and run with (additional or
exclusive) WINEDEBUG=+msvrt and look if the arguments and result look
right.
Happy bughunting
--
Uwe Bonnes bon at elektron.ikp.physik.tu-darmstadt.de
Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
Index: wine/dlls/msvcrt/math.c
===================================================================
RCS file: /home/wine/wine/dlls/msvcrt/math.c,v
retrieving revision 1.24
diff -u -w -r1.24 math.c
--- wine/dlls/msvcrt/math.c 25 Jun 2004 01:19:15 -0000 1.24
+++ wine/dlls/msvcrt/math.c 30 Nov 2005 16:55:52 -0000
@@ -168,8 +168,10 @@
{
double z;
FPU_DOUBLES(x,y);
+ TRACE("x %f y %f\n", x,y);
/* FIXME: If x < 0 and y is not integral, set EDOM */
z = pow(x,y);
+ TRACE("z %f \n", z);
if (!finite(z)) *MSVCRT__errno() = MSVCRT_EDOM;
return z;
}
More information about the wine-devel
mailing list