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 }