| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | /* Allocate memory on a page boundary.   Copyright (C) 1991, 1992 Free Software Foundation, Inc.This library is free software; you can redistribute it and/ormodify it under the terms of the GNU Library General Public License aspublished by the Free Software Foundation; either version 2 of theLicense, or (at your option) any later version.This library is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNULibrary General Public License for more details.You should have received a copy of the GNU Library General PublicLicense along with this library; see the file COPYING.LIB.  Ifnot, write to the Free Software Foundation, Inc., 675 Mass Ave,Cambridge, MA 02139, USA.   The author may be reached (Email) at the address mike@ai.mit.edu,   or (US mail) as Mike Haertel c/o Free Software Foundation.  */#include <stdlib.h>#include "malloc.h"#ifdef	 emacs#include "config.h"#endif#ifdef	__GNU_LIBRARY__extern size_t __getpagesize __P ((void));#else#ifndef	USGextern size_t getpagesize __P ((void));#define	__getpagesize()	getpagesize()#else#include <sys/param.h>#ifdef	EXEC_PAGESIZE#define	__getpagesize()	EXEC_PAGESIZE#else /* No EXEC_PAGESIZE.  */#ifdef	NBPG#ifndef	CLSIZE#define	CLSIZE	1#endif /* No CLSIZE.  */#define	__getpagesize()	(NBPG * CLSIZE)#else /* No NBPG.  */#define	__getpagesize()	NBPC#endif /* NBPG.  */#endif /* EXEC_PAGESIZE.  */#endif /* USG.  */#endifstatic size_t pagesize;__ptr_tvalloc (size)     size_t size;{  if (pagesize == 0)    pagesize = __getpagesize ();  return memalign (pagesize, size);}
 |