home *** CD-ROM | disk | FTP | other *** search
- unit memory;
-
- interface
-
- procedure mem_alloc(var p: pointer; size: longint);
- procedure mem_free(var p: pointer; size: longint);
- function strdup(str: pchar): pchar;
-
- implementation
-
- uses strings;
-
- type
- HEAPProc = function(size: longint): integer;
- var
- old_error : ^HEAPProc;
-
- function heapfunc(size: longint): integer;
- begin
- heapfunc := 1;
- end;
-
- procedure mem_alloc(var p: pointer; size: longint);
- begin
- old_error := heaperror;
- heaperror := @heapfunc;
- getmem(p, size);
- heaperror := old_error;
- end;
-
- procedure mem_free(var p: pointer; size: longint);
- begin
- freemem(p, size);
- end;
-
- function strdup(str: pchar): pchar;
- begin
- old_error := heaperror;
- heaperror := @heapfunc;
- strdup := strnew(str);
- heaperror := old_error;
- end;
-
- end.