]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - contrib/cvs/lib/valloc.c
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / contrib / cvs / lib / valloc.c
1 /* valloc -- return memory aligned to the page size.  */
2
3 #ifdef HAVE_CONFIG_H
4 #include "config.h"
5 #endif
6
7 #include "system.h"
8
9 #ifndef HAVE_GETPAGESIZE
10 # include "getpagesize.h"
11 #endif
12
13 void *
14 valloc (bytes)
15      size_t bytes;
16 {
17   long pagesize;
18   char *ret;
19
20   pagesize = getpagesize ();
21   ret = (char *) malloc (bytes + pagesize - 1);
22   if (ret)
23     ret = (char *) ((long) (ret + pagesize - 1) &~ (pagesize - 1));
24   return ret;
25 }