factor/library/compiler/alien/malloc.factor

22 lines
653 B
Factor
Raw Normal View History

2005-05-05 03:12:37 -04:00
! Copyright (C) 2004, 2005 Mackenzie Straight.
2006-01-28 15:49:31 -05:00
! See http://factorcode.org/license.txt for BSD license.
2006-03-08 16:06:13 -05:00
IN: libc
2006-09-06 18:06:11 -04:00
USING: alien errors kernel math prettyprint ;
2005-05-05 03:12:37 -04:00
LIBRARY: libc
2006-03-08 16:06:13 -05:00
FUNCTION: void* malloc ( ulong size ) ;
FUNCTION: void* calloc ( ulong count, ulong size ) ;
FUNCTION: void free ( void* ptr ) ;
FUNCTION: void* realloc ( void* ptr, ulong size ) ;
FUNCTION: void memcpy ( void* dst, void* src, ulong size ) ;
2005-05-05 03:12:37 -04:00
2006-08-01 04:45:05 -04:00
TUPLE: check-ptr ;
2006-09-06 18:06:11 -04:00
2006-08-16 21:55:53 -04:00
: check-ptr ( c-ptr -- c-ptr ) [ <check-ptr> throw ] unless* ;
2006-07-04 17:24:15 -04:00
2006-09-06 18:06:11 -04:00
M: check-ptr summary
drop "Memory allocation failed" ;
2006-08-15 16:29:35 -04:00
: with-malloc ( size quot -- )
2006-07-04 18:10:42 -04:00
swap 1 calloc check-ptr [ swap call ] keep free ; inline