|
@@ -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
|
|
|
|