author | Rich Felker <dalias@aerifal.cx> | 2014年01月02日 17:03:34 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2014年01月02日 17:03:34 -0500 |
commit | 7a995fe706e519a4f55399776ef0df9596101f93 (patch) | |
tree | 72e03908db98617da9d06eadb8e1d83a0206772d /src/linux/sbrk.c | |
parent | 5c81b8fe453994a74afa7cd355dd707ee2d01a24 (diff) | |
download | musl-7a995fe706e519a4f55399776ef0df9596101f93.tar.gz |
-rw-r--r-- | src/linux/sbrk.c | 6 |
diff --git a/src/linux/sbrk.c b/src/linux/sbrk.c index 36437653..1e82d643 100644 --- a/src/linux/sbrk.c +++ b/src/linux/sbrk.c @@ -1,9 +1,9 @@ #include <stdint.h> +#include <errno.h> #include "syscall.h" void *sbrk(intptr_t inc) { - unsigned long cur = syscall(SYS_brk, 0); - if (inc && syscall(SYS_brk, cur+inc) != cur+inc) return (void *)-1; - return (void *)cur; + if (inc) return (void *)__syscall_ret(-ENOMEM); + return (void *)__syscall(SYS_brk, 0); } |