From 7482253a6d939b9966ecb5b615ce891131cf55b3 Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Wed, 9 Aug 2017 09:30:22 +0100 Subject: [PATCH] epee: fixup KV_SERIALIZE_OPT to work in more cases --- contrib/epee/include/serialization/keyvalue_serialization.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/contrib/epee/include/serialization/keyvalue_serialization.h b/contrib/epee/include/serialization/keyvalue_serialization.h index f4442e46..d4413a71 100644 --- a/contrib/epee/include/serialization/keyvalue_serialization.h +++ b/contrib/epee/include/serialization/keyvalue_serialization.h @@ -70,10 +70,13 @@ public: \ #define KV_SERIALIZE_N(varialble, val_name) \ epee::serialization::selector::serialize(this_ref.varialble, stg, hparent_section, val_name); + template inline void serialize_default(const T &t, T v) { } + template inline void serialize_default(T &t, T v) { t = v; } + #define KV_SERIALIZE_OPT_N(variable, val_name, default_value) \ do { \ if (!epee::serialization::selector::serialize(this_ref.variable, stg, hparent_section, val_name)) \ - this_ref.variable = default_value; \ + epee::serialize_default(this_ref.variable, default_value); \ } while (0); #define KV_SERIALIZE_VAL_POD_AS_BLOB_FORCE_N(varialble, val_name) \