View Single Post
Old 03 April 2022, 12:13   #1394
Olaf Barthel
Registered User
 
Join Date: Aug 2010
Location: Germany
Posts: 532
Quote:
Originally Posted by kas1e View Post
@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.
Olaf Barthel is offline  
 
Page generated in 0.30742 seconds with 11 queries