X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=database-builder.cpp;h=419e012ca94c2625471680de17b67f07716ecec8;hb=fd6198891d6fd9642effc0843fef6f23b991af3e;hp=066b60eaeb56ecd6ccc556fb1a091d2faff40d8b;hpb=967b90d89221f55d97c2f3372a8e59cd1159ecad;p=plocate diff --git a/database-builder.cpp b/database-builder.cpp index 066b60e..419e012 100644 --- a/database-builder.cpp +++ b/database-builder.cpp @@ -36,7 +36,8 @@ public: void finish(); vector encoded; - size_t get_num_docids() const { + size_t get_num_docids() const + { // Updated only when we flush, so check that we're finished. assert(pending_deltas.empty()); return num_docids; @@ -220,7 +221,6 @@ private: std::string dir_times_compressed; }; - EncodingCorpus::EncodingCorpus(FILE *outfp, size_t block_size, ZSTD_CDict *cdict, bool store_dir_times) : invindex(new PostingListBuilder *[NUM_TRIGRAMS]), outfp(outfp), outfp_pos(ftell(outfp)), block_size(block_size), store_dir_times(store_dir_times), cdict(cdict) { @@ -319,7 +319,7 @@ void EncodingCorpus::flush_block() ptr += 3; continue; } - for ( ;; ) { + for (;;) { // NOTE: Will read one byte past the end of the trigram, but it's OK, // since we always call it from contexts where there's a terminating zero byte. uint32_t trgm; @@ -490,7 +490,7 @@ DatabaseBuilder::DatabaseBuilder(const char *outfile, gid_t owner, int block_siz int fd = -1; #ifdef O_TMPFILE fd = open(path.c_str(), O_WRONLY | O_TMPFILE, 0640); - if (fd == -1 && errno != EOPNOTSUPP) { + if (fd == -1 && errno != EOPNOTSUPP && errno != EISDIR) { perror(path.c_str()); exit(1); }