home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 2 / crawlyvol2.bin / program / pascal / pdial / source / memory.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1993-05-23  |  787 b   |  44 lines

  1. unit memory;
  2.  
  3. interface
  4.  
  5. procedure mem_alloc(var p: pointer; size: longint);
  6. procedure mem_free(var p: pointer; size: longint);
  7. function  strdup(str: pchar): pchar;
  8.  
  9. implementation
  10.  
  11. uses strings;
  12.  
  13. type
  14.     HEAPProc    =    function(size: longint): integer;
  15. var
  16.     old_error    :    ^HEAPProc;    
  17.  
  18. function heapfunc(size: longint): integer;
  19. begin
  20.    heapfunc := 1;
  21. end;
  22.  
  23. procedure mem_alloc(var p: pointer; size: longint);
  24. begin
  25.     old_error := heaperror;
  26.     heaperror := @heapfunc;
  27.     getmem(p, size);
  28.     heaperror := old_error;
  29. end;    
  30.  
  31. procedure mem_free(var p: pointer; size: longint);
  32. begin
  33.     freemem(p, size);
  34. end;
  35.  
  36. function  strdup(str: pchar): pchar;
  37. begin
  38.     old_error := heaperror;
  39.     heaperror := @heapfunc;
  40.     strdup := strnew(str);
  41.     heaperror := old_error;
  42. end;    
  43.  
  44. end.