ObjectLock xlock(varval_dict);
BOOST_FOREACH(const Dictionary::Pair& kv_var, varval_dict) {
- if (kv_var.second.IsEmpty())
+ if (!kv_var.second.IsString())
continue;
if (!ValidateMacroString(kv_var.second))
ObjectLock ylock (varval_arr);
BOOST_FOREACH(const Value& arrval, varval_arr) {
- if (arrval.IsEmpty())
+ if (!arrval.IsString())
continue;
if (!ValidateMacroString(arrval)) {
}
}
} else {
- if (varval.IsEmpty())
+ if (!varval.IsString())
continue;
- String varstr = varval;
-
- if (!ValidateMacroString(varstr))
- BOOST_THROW_EXCEPTION(ValidationError(object.get(), boost::assign::list_of<String>("vars")(kv.first), "Closing $ not found in macro format string '" + varstr + "'."));
+ if (!ValidateMacroString(varval))
+ BOOST_THROW_EXCEPTION(ValidationError(object.get(), boost::assign::list_of<String>("vars")(kv.first), "Closing $ not found in macro format string '" + varval + "'."));
}
}
}