xref: /openbsd/gnu/usr.bin/cvs/lib/valloc.c (revision 07ea8d15)
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 #define getpagesize() 4096
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 }
26