Quote:
Originally Posted by kas1e
@All
Is there anything which can bring an warning about "A process called a DOS function with a non longword-aligned Anchor. Function: "MatchFirst()" " even if in the code i didn't have MatchFirst calls at all.
Can it be that link libraries use it inderectly somehow ? Or some other DOS/etc functions may use it under the hood ?
|
It's either part of the library set you link against your program or in the program itself. Have you generated a map file at the linker stage? It could hint as to where the call came from.
If you are using clib2 then you should be on reasonably safe ground because the OS4 version specifically uses the designated AllocDosObject() function call to create the 'struct AnchorPath' data structure which MatchFirst/MatchNext are using. The only code which makes use of this is in the optional libunix.a file, in "unistd_wildcard_expand.c". The 68k version allocates the 'struct AnchorPath' using the malloc() function. Unless I messed that up (would not be the first time subtle bugs slipped through), it should return a long-aligned pointer address.