diff --git a/src/dht.cpp b/src/dht.cpp index 9ebc4f81c1a06f295ce7bda487b35f1c10cf94bd..dc24096feae6f8861b9b13bad7ebd2232cf74b2f 100644 --- a/src/dht.cpp +++ b/src/dht.cpp @@ -1681,8 +1681,8 @@ void Dht::query(const InfoHash& id, QueryCallback cb, DoneCallback done_cb, Quer return newvals; }; std::vector<std::shared_ptr<FieldValueIndex>> local_fields(values.size()); - std::transform(values.begin(), values.end(), local_fields.begin(), [](const std::shared_ptr<Value>& v) { - return std::make_shared<FieldValueIndex>(*v); + std::transform(values.begin(), values.end(), local_fields.begin(), [&q](const std::shared_ptr<Value>& v) { + return std::make_shared<FieldValueIndex>(*v, q.select); }); auto qcb = std::bind(callbackWrapper<FieldValueIndex, QueryCallback>, cb, done_cb, _1, add_fields, op);