-.TH MALLOC 3 ""
-.UC 4
-.SH NAME
-malloc, free, realloc, calloc, alloca \- memory allocator
-.SH SYNOPSIS
-.nf
-.B char *malloc(size)
-.B unsigned size;
-.PP
-.B free(ptr)
-.B char *ptr;
-.PP
-.B char *realloc(ptr, size)
-.B char *ptr;
-.B unsigned size;
-.PP
-.B char *calloc(nelem, elsize)
-.B unsigned nelem, elsize;
-.PP
-.B char *alloca(size)
-.B int size;
-.fi
-.SH DESCRIPTION
-.I Malloc
-and
-.I free
-provide a general-purpose memory allocation package.
-.I Malloc
-returns a pointer to a block of at least
-.I size
-bytes beginning on a word boundary.
-.PP
-The argument to
-.I free
-is a pointer to a block previously allocated by
-.IR malloc ;
-this space is made available for further allocation,
-but its contents are left undisturbed.
-.PP
-Needless to say, grave disorder will result if the space assigned by
-.I malloc
-is overrun or if some random number is handed to
-.IR free .
-.PP
-.I Malloc
-maintains multiple lists of free blocks according to size,
-allocating space from the appropriate list.
-It calls
-.I sbrk
-(see
-.IR brk (2))
-to get more memory from the system when there is no
-suitable space already free.
-.PP
-.I Realloc
-changes the size of the block pointed to by
-.I ptr
-to
-.I size
-bytes and returns a pointer to the (possibly moved) block.
-The contents will be unchanged up to the lesser of the new and old sizes.
-If
-.I ptr
-is null,
-.I realloc
-simply returns the value of
-.I malloc
-called with an argument of
-.IR size .
-.PP
-In order to be compatible with older versions,
-.I realloc
-also works if
-.I ptr
-points to a block freed since the last call of
-.I malloc, realloc
-or
-.IR calloc ;
-sequences of
-.I free, malloc
-and
-.I realloc
-were previously used to attempt storage compaction.
-This procedure is no longer recommended.
-.PP
-.I Calloc
-allocates space for an array of
-.I nelem
-elements of size
-.I elsize.
-The space is initialized to zeros.
-.PP
-.I Alloca
-allocates
-.I size
-bytes of space in the stack frame of the caller.
-This temporary space is automatically freed on
-return.
-.PP
-Each of the allocation routines returns a pointer
-to space suitably aligned (after possible pointer coercion)
-for storage of any type of object.
-If the space is of
-.I pagesize
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)malloc.3 6.7 (Berkeley) 6/29/91
+.\"
+.Dd June 29, 1991
+.Dt MALLOC 3
+.Os BSD 4
+.Sh NAME
+.Nm malloc ,
+.Nd general memory allocation function
+.Sh SYNOPSIS
+.Fd #include <stdlib.h>
+.Ft void *
+.Fn malloc "size_t size"
+.Sh DESCRIPTION
+The
+.Fn malloc
+function allocates uninitialized space for an object whose
+size is specified by
+.Fa size .
+The
+.Fn malloc
+function maintains multiple lists of free blocks according to size, allocating
+space from the appropriate list.
+.Pp
+The allocated space is
+suitably aligned (after possible pointer
+coercion) for storage of any type of object. If the space is of
+.Em pagesize