Mercurial > repos > rhope
comparison 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 |
comparison
equal
deleted
inserted
replaced
2:73e978d590c7 | 3:94c885692eb5 |
---|---|
539 release_ref(inputlist[0]); | 539 release_ref(inputlist[0]); |
540 inputlist[0] = new_datum(BUILTIN_TYPE_WHOLE, 2, 0, worker_entry->instance->def->program); | 540 inputlist[0] = new_datum(BUILTIN_TYPE_WHOLE, 2, 0, worker_entry->instance->def->program); |
541 inputlist[0]->c.integers.num_a = size; | 541 inputlist[0]->c.integers.num_a = size; |
542 return 0; | 542 return 0; |
543 } | 543 } |
544 | |
545 int vis_file_truncate(datum ** inputlist, queue_entry * worker_entry) | |
546 { | |
547 file_data * file; | |
548 inputlist[0] = copy_datum(inputlist[0], 0); | |
549 file = inputlist[0]->c.generic.data; | |
550 VIS_EnterCriticalSection(file->shared->lock); | |
551 switch(file->shared->status) | |
552 { | |
553 case FILE_READ: | |
554 case FILE_WRITE: | |
555 fclose(file->shared->file); | |
556 default: | |
557 break; | |
558 } | |
559 file->shared->file = fopen(file->shared->name,"wb"); | |
560 file->shared->size = 0; | |
561 file->shared->status = FILE_WRITE; | |
562 VIS_LeaveCriticalSection(file->shared->lock); | |
563 file->offset = 0; | |
564 return 0; | |
565 } |