home *** CD-ROM | disk | FTP | other *** search
- #define MEMF_CLEAR (1L<<16) /* AllocMem: NULL out area before return */
-
- extern struct ExecBase * SysBase;
-
- static __inline void*
- AllocVec (unsigned long byteSize,unsigned long requirements)
- {
- register void *_res __asm("d0");
- register struct ExecBase *a6 __asm("a6") = SysBase;
- register unsigned long d0 __asm("d0") = byteSize;
- register unsigned long d1 __asm("d1") = requirements;
- __asm __volatile ("jsr a6@(-0x2ac)"
- : "=r" (_res)
- : "r" (a6), "r" (d0), "r" (d1)
- : "a0","a1","d0","d1", "memory");
- return _res;
- }
-
- void *calloc(unsigned long Anz)
- {
- register unsigned long *p=0;
- if(!Anz)Anz=1;
-
- p=AllocVec(Anz,MEMF_CLEAR);
- return (void *)p;
- }
-