* sbrk returns -1 on error

This commit is contained in:
peter 1998-08-26 10:05:08 +00:00
parent 2f3bc2f300
commit cf8640b638

View File

@ -243,24 +243,10 @@ end;
{ memory functions }
function GlobalAlloc(mode,size:longint):longint;
external 'kernel32' name 'GlobalAlloc';
function GlobalReAlloc(mode,size:longint):longint;
external 'kernel32' name 'GlobalReAlloc';
function GlobalHandle(p:pointer):longint;
external 'kernel32' name 'GlobalHandle';
function GlobalLock(handle:longint):pointer;
external 'kernel32' name 'GlobalLock';
function GlobalUnlock(h:longint):longint;
external 'kernel32' name 'GlobalUnlock';
function GlobalFree(h:longint):longint;
external 'kernel32' name 'GlobalFree';
function GlobalSize(h:longint):longint;
external 'kernel32' name 'GlobalSize';
procedure GlobalMemoryStatus(p:pointer);
external 'kernel32' name 'GlobalMemoryStatus';
function LocalAlloc(uFlags : UINT;uBytes :UINT) : HLOCAL;
external 'kernel32' name 'LocalAlloc';
function LocalFree(hMem:HLOCAL):HLOCAL;
external 'kernel32' name 'LocalFree';
function Sbrk(size : longint):longint;
var
@ -268,8 +254,13 @@ var
begin
h:=GlobalAlloc(258,size);
l:=longint(GlobalLock(h));
{$ifdef SYSTEMDEBUG}
Writeln('new heap part at $',hexstr(l,8), ' size = ',GlobalSize(h));
sbrk:=l;
{$endif SYSTEMDEBUG}
if l=0 then
sbrk:=-1
else
sbrk:=l;
end;
{ include standard heap management }
@ -760,7 +751,10 @@ end.
{
$Log$
Revision 1.16 1998-08-24 14:45:22 pierre
Revision 1.17 1998-08-26 10:05:08 peter
* sbrk returns -1 on error
Revision 1.16 1998/08/24 14:45:22 pierre
* sbrk was wrong
heap growing now works for win32