Subversion Repositories Kolibri OS

Rev

Rev 553 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
553 serge 1
/****************************************************************************
2
*
3
*                            Open Watcom Project
4
*
5
*    Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved.
6
*
7
*  ========================================================================
8
*
9
*    This file contains Original Code and/or Modifications of Original
10
*    Code as defined in and that are subject to the Sybase Open Watcom
11
*    Public License version 1.0 (the 'License'). You may not use this file
12
*    except in compliance with the License. BY USING THIS FILE YOU AGREE TO
13
*    ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is
14
*    provided with the Original Code and Modifications, and is also
15
*    available at www.sybase.com/developer/opensource.
16
*
17
*    The Original Code and all software distributed under the License are
18
*    distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
19
*    EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM
20
*    ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF
21
*    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR
22
*    NON-INFRINGEMENT. Please see the License for the specific language
23
*    governing rights and limitations under the License.
24
*
25
*  ========================================================================
26
*
27
* Description:  WHEN YOU FIGURE OUT WHAT THIS FILE DOES, PLEASE
28
*               DESCRIBE IT HERE!
29
*
30
****************************************************************************/
31
 
32
 
33
#include "variety.h"
34
#include 
35
#include 
36
#include 
37
#include 
704 serge 38
#include "kolibri.h"
553 serge 39
 
704 serge 40
void* user_alloc(unsigned size);
553 serge 41
 
42
extern  unsigned                _curbrk;
43
extern  unsigned                _STACKTOP;
44
 
45
_WCRTLINK void _WCNEAR *sbrk( int increment )
46
{
47
  if( increment > 0 )
48
  {
49
    void* p;
50
 
51
    increment = ( increment + 0x0fff ) & ~0x0fff;
52
    //p = LocalAlloc( LMEM_FIXED, increment );
53
    //p = VirtualAlloc(NULL, increment, MEM_COMMIT,PAGE_EXECUTE_READWRITE);
704 serge 54
    p = user_alloc(increment);
553 serge 55
    if( p != NULL ) return( p );
56
     errno = ENOMEM;
57
  }
58
  else
59
  {
60
    errno = EINVAL;
61
  }
62
  return( (void *) -1 );
63
}