diff --git a/basis/libc/libc.factor b/basis/libc/libc.factor index 506f6b8b6f..45365d4296 100644 --- a/basis/libc/libc.factor +++ b/basis/libc/libc.factor @@ -52,13 +52,13 @@ M: realloc-error summary : malloc ( size -- alien ) - (malloc) check-ptr - dup add-malloc ; + (malloc) check-ptr add-malloc ; : calloc ( count size -- alien ) - (calloc) check-ptr - dup add-malloc ; + (calloc) check-ptr add-malloc ; : realloc ( alien size -- newalien ) over malloc-exists? [ realloc-error ] unless - dupd (realloc) check-ptr - swap delete-malloc - dup add-malloc ; + [ drop ] [ (realloc) check-ptr ] 2bi + [ delete-malloc ] [ add-malloc ] bi* ; : free ( alien -- ) - dup delete-malloc - (free) ; + [ delete-malloc ] [ (free) ] bi ; : memcpy ( dst src size -- ) "void" "libc" "memcpy" { "void*" "void*" "ulong" } alien-invoke ;