int write_record(PriceFile* price_file, ItemRecord new_record) { FILE *dos_file_stream; int status; unsigned record_number; char ascii_key_value[ASCII_KEY_SIZE+1]; BCD_to_ascii(ascii_key_value,new_record.upc,ASCII_KEY_SIZE); status = lookup_record_number(price_file,ascii_key_value,&record_number); if (status == FILE_FULL || status == FOUND) return(status); dos_file_stream = price_file->dos_file_stream; position_record(price_file,record_number); fwrite(&new_record,1,sizeof(ItemRecord),dos_file_stream); return(NOT_IN_FILE); }