From f64c9ac188183e5cbc8a487ed55d66e92075668c Mon Sep 17 00:00:00 2001 From: Ivan Shynkarenka Date: Mon, 19 Sep 2016 23:43:01 +0300 Subject: [PATCH] Rollback OSx fix attempt --- fmt/format.h | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/fmt/format.h b/fmt/format.h index 76da68a7..1ea52b85 100644 --- a/fmt/format.h +++ b/fmt/format.h @@ -1600,11 +1600,10 @@ inline void ArgList::serialize(std::vector& buffer) const for (unsigned i = 0; i < count; ++i) { // Serialize argument internal::Arg arg = args[i]; - internal::Value& value = arg; - std::memcpy(base_buffer, (count > MAX_PACKED_ARGS) ? &arg : &value, item_size); + std::memcpy(base_buffer, &arg, item_size); base_buffer += item_size; // Serialize extra data - serialize_extra_data(data_buffer, arg.type, value); + serialize_extra_data(data_buffer, arg.type, arg); } } @@ -1642,21 +1641,11 @@ inline ArgList ArgList::deserialize(std::vector& buffer) // Deserialize values of format arguments uint8_t* local_buffer = base_buffer; for (unsigned i = 0; i < count; ++i) { - if (count > MAX_PACKED_ARGS) - { - // Deserialize argument - internal::Arg* arg = reinterpret_cast(local_buffer); - // Deserialize extra data - deserialize_extra_data(data_buffer, arg->type, *arg); - } - else - { - // Deserialize argument - internal::Value* value = reinterpret_cast(local_buffer); - // Deserialize extra data - deserialize_extra_data(data_buffer, type(types, i), *value); - } + // Deserialize argument + internal::Value* value = reinterpret_cast(local_buffer); local_buffer += item_size; + // Deserialize extra data + deserialize_extra_data(data_buffer, type(types, i), *value); } // Prepare and return arguments list stored in the provided buffer