1
0
Fork 0
mirror of https://github.com/KingDuckZ/dindexer.git synced 2025-07-15 16:14:12 +00:00

Fix SCAN iteration.

This commit is contained in:
King_DuckZ 2016-06-13 10:57:42 +01:00
parent c1e79c435b
commit e0a82cce2d
7 changed files with 54 additions and 12 deletions

View file

@ -56,7 +56,7 @@ namespace redis {
private:
using RedisConnection = std::unique_ptr<redisContext, void(*)(redisContext*)>;
RedisReplyType run_pvt ( const char* parCommand, int parArgc, const char** parArgv, std::size_t* parLengths );
RedisReplyType run_pvt ( int parArgc, const char** parArgv, std::size_t* parLengths );
RedisConnection m_conn;
std::string m_address;
@ -65,15 +65,17 @@ namespace redis {
template <typename... Args>
RedisReplyType Command::run (const char* parCommand, Args&&... parArgs) {
constexpr const std::size_t arg_count = sizeof...(Args);
constexpr const std::size_t arg_count = sizeof...(Args) + 1;
using CharPointerArray = std::array<const char*, arg_count>;
using LengthArray = std::array<std::size_t, arg_count>;
using implem::arg_to_bin_safe_char;
using implem::arg_to_bin_safe_length;
using boost::string_ref;
return this->run_pvt(
parCommand,
static_cast<int>(arg_count),
CharPointerArray{ implem::arg_to_bin_safe_char(std::forward<Args>(parArgs))... }.data(),
LengthArray{ implem::arg_to_bin_safe_length(std::forward<Args>(parArgs))... }.data()
CharPointerArray{ arg_to_bin_safe_char(string_ref(parCommand)), arg_to_bin_safe_char(std::forward<Args>(parArgs))... }.data(),
LengthArray{ arg_to_bin_safe_length(string_ref(parCommand)), arg_to_bin_safe_length(std::forward<Args>(parArgs))... }.data()
);
}
} //namespace redis