void DocWriter_finish(DocWriter *self) { if (self->dat_out) { // Write one final file pointer, so that we can derive the length of // the last record. int64_t end = OutStream_Tell(self->dat_out); OutStream_Write_I64(self->ix_out, end); // Close down output streams. OutStream_Close(self->dat_out); OutStream_Close(self->ix_out); Seg_Store_Metadata_Str(self->segment, "documents", 9, (Obj*)DocWriter_Metadata(self)); } }
void DocWriter_Finish_IMP(DocWriter *self) { DocWriterIVARS *const ivars = DocWriter_IVARS(self); if (ivars->dat_out) { // Write one final file pointer, so that we can derive the length of // the last record. int64_t end = OutStream_Tell(ivars->dat_out); OutStream_Write_I64(ivars->ix_out, end); // Close down output streams. OutStream_Close(ivars->dat_out); OutStream_Close(ivars->ix_out); Seg_Store_Metadata_Utf8(ivars->segment, "documents", 9, (Obj*)DocWriter_Metadata(self)); } }