+ // Finally, write the directory times (for updatedb).
+ string compressed_dir_times = corpus->get_compressed_dir_times();
+ size_t bytes_for_compressed_dir_times = 0;
+ if (!compressed_dir_times.empty()) {
+ hdr.directory_data_offset_bytes = ftell(outfp);
+ hdr.directory_data_length_bytes = compressed_dir_times.size();
+ fwrite(compressed_dir_times.data(), compressed_dir_times.size(), 1, outfp);
+ bytes_for_compressed_dir_times = compressed_dir_times.size();
+ compressed_dir_times.clear();
+ }
+
+ // Write the recommended dictionary for next update.
+ if (!next_dictionary.empty()) {
+ hdr.next_zstd_dictionary_offset_bytes = ftell(outfp);
+ hdr.next_zstd_dictionary_length_bytes = next_dictionary.size();
+ fwrite(next_dictionary.data(), next_dictionary.size(), 1, outfp);
+ }
+
+ // And the configuration block.
+ if (!conf_block.empty()) {
+ hdr.conf_block_offset_bytes = ftell(outfp);
+ hdr.conf_block_length_bytes = conf_block.size();
+ fwrite(conf_block.data(), conf_block.size(), 1, outfp);
+ }
+