a712eb310f0948ba4c785c4ed2aaec181c27f4e2
[kopensolaris-gnu/glibc.git] / sysdeps / generic / morecore.c
1 /* Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2, or (at your option)
7 any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with the GNU C Library; see the file COPYING.  If not, write to
16 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
17
18 #ifndef _MALLOC_INTERNAL
19 #define _MALLOC_INTERNAL
20 #include <malloc.h>
21 #endif
22
23 #ifndef __GNU_LIBRARY__
24 #define __sbrk  sbrk
25 #endif
26
27 #ifdef __GNU_LIBRARY__
28 /* It is best not to declare this and cast its result on foreign operating
29    systems with potentially hostile include files.  */
30
31 #include <stddef.h>
32 extern __ptr_t __sbrk __P ((ptrdiff_t increment));
33 #endif
34
35 #ifndef NULL
36 #define NULL 0
37 #endif
38
39 /* Allocate INCREMENT more bytes of data space,
40    and return the start of data space, or NULL on errors.
41    If INCREMENT is negative, shrink data space.  */
42 __ptr_t
43 __default_morecore (increment)
44      __malloc_ptrdiff_t increment;
45 {
46   __ptr_t result = (__ptr_t) __sbrk (increment);
47   if (result == (__ptr_t) -1)
48     return NULL;
49   return result;
50 }