From 43588d076f5ec2bc0ea80619f5d2a63b72a8ba59 Mon Sep 17 00:00:00 2001 From: Ivan Pelipenko Date: Wed, 29 Apr 2020 17:26:30 +0300 Subject: [PATCH] piconfig --- src_main/io_devices/piconfig.h | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src_main/io_devices/piconfig.h b/src_main/io_devices/piconfig.h index 40e1d808..b53a180b 100755 --- a/src_main/io_devices/piconfig.h +++ b/src_main/io_devices/piconfig.h @@ -525,15 +525,16 @@ inline PICout operator <<(PICout s, const PIConfig::Entry & v) {s << v.value(); * from configuration file in implementation \a PIIODevice::configureDevice() function */ template T readDeviceSetting(const PIString & name, const T & def, const PIConfig::Entry * em, const PIConfig::Entry * ep) { - PIVariant v = PIVariant::fromValue(T()); - if (ep != 0) { - bool ex; - v.setValueFromString(ep->getValue(name, def, &ex).toString()); - if (!ex) v.setValueFromString(em->getValue(name, def).toString()); + PIVariant v = PIVariant::fromValue(def); + if (ep) { + bool ex = false; + PIString sv = ep->getValue(name, def, &ex).toString(); + if (!ex) + return def; + v.setValueFromString(sv); return v.value(); } - v.setValueFromString(em->getValue(name, def).toString()); - return v.value(); + return def; } #endif // PICONFIG_H