summaryrefslogtreecommitdiffstats
path: root/lib/libc/gen/valloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/gen/valloc.c')
-rw-r--r--lib/libc/gen/valloc.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/libc/gen/valloc.c b/lib/libc/gen/valloc.c
index 456f31d..9d888d3 100644
--- a/lib/libc/gen/valloc.c
+++ b/lib/libc/gen/valloc.c
@@ -41,12 +41,12 @@ __FBSDID("$FreeBSD$");
#include <unistd.h>
void *
-valloc(i)
- size_t i;
+valloc(size_t i)
{
- long valsiz = getpagesize(), j;
- void *cp = malloc(i + (valsiz-1));
+ void *ret;
- j = ((long)cp + (valsiz-1)) &~ (valsiz-1);
- return ((void *)j);
+ if (posix_memalign(&ret, getpagesize(), i) != 0)
+ ret = NULL;
+
+ return ret;
}
OpenPOWER on IntegriCloud