* 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 } { memory functions }
function GlobalAlloc(mode,size:longint):longint; function GlobalAlloc(mode,size:longint):longint;
external 'kernel32' name 'GlobalAlloc'; 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; function GlobalLock(handle:longint):pointer;
external 'kernel32' name 'GlobalLock'; 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; function GlobalSize(h:longint):longint;
external 'kernel32' name 'GlobalSize'; 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; function Sbrk(size : longint):longint;
var var
@ -268,8 +254,13 @@ var
begin begin
h:=GlobalAlloc(258,size); h:=GlobalAlloc(258,size);
l:=longint(GlobalLock(h)); l:=longint(GlobalLock(h));
{$ifdef SYSTEMDEBUG}
Writeln('new heap part at $',hexstr(l,8), ' size = ',GlobalSize(h)); 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; end;
{ include standard heap management } { include standard heap management }
@ -760,7 +751,10 @@ end.
{ {
$Log$ $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 * sbrk was wrong
heap growing now works for win32 heap growing now works for win32