diff options
author | Robert de Bath <rdebath@poboxes.com> | 2002-01-12 20:42:42 +0100 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2013-10-23 23:48:46 +0200 |
commit | d91fa39567f5659e3931cf61517d62fddcd87570 (patch) | |
tree | 20583acd4f345a4f5c9a7772870ef972cb8a3b14 /as/readsrc.c | |
parent | bff547eabb6678ec8e71ffbcfbf9a4f05c94d949 (diff) | |
download | dev86-d91fa39567f5659e3931cf61517d62fddcd87570.tar.gz |
Import Dev86src-0.16.1.tar.gzv0.16.1
Diffstat (limited to 'as/readsrc.c')
-rw-r--r-- | as/readsrc.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/as/readsrc.c b/as/readsrc.c index 819efb8..df69756 100644 --- a/as/readsrc.c +++ b/as/readsrc.c @@ -138,9 +138,12 @@ char *name; for(;;) { if( filelength >= memsize ) - mem_start = realloc(mem_start, (memsize+=16000)+4); - if(mem_start == 0) - as_abort("Cannot allocate memory for BIG buffer"); + { + if (memsize > 16000) + mem_start = asrealloc(mem_start, (memsize+=16384)+4); + else + mem_start = asrealloc(mem_start, (memsize+=memsize+32)+4); + } cc = read(fd, mem_start+filelength, (size_t)(memsize-filelength)); if( cc <= 0 ) break; |