- int bucket = hash_key_to_bucket(bpfen_and_move.data(), bpfen_and_move.size(), num_buckets);
- elems[bucket].emplace_back(Element {move(bpfen_and_move), Result(r), opening_num, white_elo, black_elo, timestamp});
+ l = getc(fp);
+ if (l == -1) {
+ break;
+ }
+ string move;
+ move.resize(l);
+ if (fread(&move[0], l, 1, fp) != 1) {
+ perror("fread()");
+ // exit(1);
+ break;
+ }
+
+ int bucket = hash_key_to_bucket(bpfen.data(), bpfen.size(), num_buckets);
+ elems[bucket].emplace_back(Element {std::move(bpfen), std::move(move), Result(r), opening_num, white_elo, black_elo, timestamp});