Browse Source

* sbrk returns -1 on error

peter 27 years ago
parent
commit
cf8640b638
1 changed files with 10 additions and 16 deletions
  1. 10 16
      rtl/win32/syswin32.pp

+ 10 - 16
rtl/win32/syswin32.pp

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