Use error handler to report errors

This commit is contained in:
Victor Zverovich
2017-11-19 07:36:01 -08:00
parent 5a32e64b05
commit c523dd584f
4 changed files with 14 additions and 28 deletions

View File

@@ -367,18 +367,9 @@ template <typename Char, typename AF>
typename printf_context<Char, AF>::format_arg printf_context<Char, AF>::get_arg(
iterator it, unsigned arg_index) {
(void)it;
const char *error = 0;
format_arg arg;
if (arg_index == std::numeric_limits<unsigned>::max()) {
arg_index = this->next_arg_index();
if (!error)
arg = this->do_get_arg(arg_index, error);
} else {
arg = Base::get_arg(arg_index - 1, error);
}
if (error)
FMT_THROW(format_error(!*it ? "invalid format string" : error));
return arg;
if (arg_index == std::numeric_limits<unsigned>::max())
return this->do_get_arg(this->next_arg_index());
return Base::get_arg(arg_index - 1);
}
template <typename Char, typename AF>