A follow up to the cabinet patch we released before hand. It works perfectly in windows/cl.
When its in the wine tree, gcc doesn't like it as much. cabinet_fdi.c: In function `TestCreate': cabinet_fdi.c:263: warning: passing arg 3 of `FDICreate' from incompatible pointer type
Running it = segfault.
WINEDEBUG=+all wine dlls/cabinet/tests/cabinet_test.exe.so results in the attached debug trace, which doesn't help (me) much.
Anyhow, point being, it works in Windows, dies in Wine, but I'm not sure that its a Wine error.
Can anyone offer any suggestions/fixes?
Le jeu 10/03/2005 à 20:04, Rizwan Kassim a écrit :
A follow up to the cabinet patch we released before hand. It works perfectly in windows/cl.
When its in the wine tree, gcc doesn't like it as much. cabinet_fdi.c: In function `TestCreate': cabinet_fdi.c:263: warning: passing arg 3 of `FDICreate' from incompatible pointer type
I guess tvfs_open should be defined as INT_PTR __cdecl tvfs_open(char *fname, int flags, int mode); You might be able to keep the const char *, not sure. Or maybe it's the const which poses problem.
Which one is the default if none is specified: cdecl or stdcall?
Running it = segfault.
Might be caused by the calling convention of tvfs_open.
There's always the possibility that what I'm saying is nonsense, too.
Vincent
My previous post was fixed with some advice.
Attached is a conformance test for wine/dlls/cabinet.
I now have a cabinet test that compiles perfectly on windows and wine, runs perfectly in windows but segfaults in wine. Attached is WINEDEBUG=+all. Is this because of some error in my test or some flaw in Wine?
-- Thank you, Rizwan Kassim http://www.geekymedia.com - GPL code, How-To guides and more.
"There's no such thing as non-lethal shaving damage with a sword!" -- Scott Martin
Octal is the way God meant programmers to count - the thumbs are parity bits.