Mercurial > repos > rhope
diff file.c @ 3:94c885692eb5
Partial set of fixes and enhancements from Linux box
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Wed, 29 Apr 2009 03:21:23 -0400 |
parents | 76568becd6d6 |
children | 20d40cb8abf3 |
line wrap: on
line diff
--- a/file.c Wed Apr 29 02:58:03 2009 -0400 +++ b/file.c Wed Apr 29 03:21:23 2009 -0400 @@ -541,3 +541,25 @@ inputlist[0]->c.integers.num_a = size; return 0; } + +int vis_file_truncate(datum ** inputlist, queue_entry * worker_entry) +{ + file_data * file; + inputlist[0] = copy_datum(inputlist[0], 0); + file = inputlist[0]->c.generic.data; + VIS_EnterCriticalSection(file->shared->lock); + switch(file->shared->status) + { + case FILE_READ: + case FILE_WRITE: + fclose(file->shared->file); + default: + break; + } + file->shared->file = fopen(file->shared->name,"wb"); + file->shared->size = 0; + file->shared->status = FILE_WRITE; + VIS_LeaveCriticalSection(file->shared->lock); + file->offset = 0; + return 0; +}