Mercurial > projects > ddmd
diff dmd/File.d @ 2:7427ded8caf7
Removed unreferenced modules
First step at fixing GC issues - now calling GC.malloc instead of malloc (ditto calloc and realloc), get rid of free
author | korDen |
---|---|
date | Sun, 25 Oct 2009 03:20:59 +0300 |
parents | 10317f0c89a5 |
children | d706d958e4e8 |
line wrap: on
line diff
--- a/dmd/File.d Sat Oct 24 17:25:59 2009 +0400 +++ b/dmd/File.d Sun Oct 25 03:20:59 2009 +0300 @@ -9,6 +9,8 @@ import std.string : toStringz; +import dmd.Memory; + class File { int ref_; // != 0 if this is a reference to someone else's buffer @@ -32,7 +34,7 @@ { if (buffer !is null) { if (ref_ == 0) { - free(buffer); + ///free(buffer); } else { version (_WIN32) { if (ref_ == 2) { @@ -43,7 +45,7 @@ } if (touchtime !is null) { - free(touchtime); + ///free(touchtime); } } @@ -78,7 +80,7 @@ } if (ref_ == 0) { - free(buffer); + ///free(buffer); } ref_ = 0; // we own the buffer now @@ -91,7 +93,7 @@ } off_t size = buf.st_size; - buffer = cast(ubyte*)malloc(size + 2); + buffer = cast(ubyte*)GC.malloc(size + 2); if (buffer is null) { printf("\tmalloc error, errno = %d\n", errno); goto err2; @@ -124,7 +126,7 @@ close(fd); err: - free(buffer); + ///free(buffer); buffer = null; len = 0; @@ -146,12 +148,12 @@ } if (!ref_) { - free(buffer); + ///free(buffer); } ref_ = 0; size = GetFileSize(h, null); - buffer = cast(ubyte*) malloc(size + 2); + buffer = cast(ubyte*) GC.malloc(size + 2); if (!buffer) goto err2; @@ -179,7 +181,7 @@ err2: CloseHandle(h); err: - free(buffer); + ///free(buffer); buffer = null; len = 0;