mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 14:09:20 +02:00
* sbrk returns -1 on error
This commit is contained in:
parent
2f3bc2f300
commit
cf8640b638
@ -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
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user