|  | 
        Its not Laser C, it is the malloc() in the Atari OS.  It
        allocates an extra 64 bytes (if memory serves).
        
        TOS V1.4, if it ever gets released, will have a work around for
        this according the the folks at Atari, however malloc() will
        function exactly the same, according to the last public decision
        posted on the usenet.
        
        Bob
 | 
|  |     I don't use Laser C so I can't answer your question specificly,
    but...
    
    You may want to try one of the PD malloc() routines that are around
    I've put the malloc() (and associated routines) from Mark Johnsons
    public domain C compiler (V2.0) in:
    		LEDDEV::DISK$USER9:[WALLACE.PUBLIC.ST]MALLOC.C
    
    This file includes malloc(), realloc(), calloc() and free(). It
    gets around the TOS Malloc() bug that I've heard about by calling
    Malloc() infrequently (which is possible since it asks for large
    chunks and manages the memory itself).
    
    The code looks like it should work with any C compiler (it doesn't
    use int's only long's and shorts' etc..). The one line you may have
    to change and/or modify is the trap(1,...) call thats used to access
    TOS's Malloc(). Mark Williams C I think has bios() calls as apposed
    to trap() calls and also defines Malloc() for you, I don't know
    how Laser C (or others) provide this interface but it should be
    an easy change.
    
    NOTE that Malloc() and malloc() are not the same! Malloc() is the
    TOS (or rom) memory allocator and malloc() is memory allocator library
    routine provided by your C compiler. It is possible that Laser C
    just defines malloc() to be equivelent to Malloc() and therefore
    is susceptable to Malloc()'s inherent bugs.
    
    	Ray
 |