Improve name argument validation
This commit is contained in:
@@ -772,7 +772,9 @@ template <typename Char> class basic_format_parse_context {
|
||||
next_arg_id_ = -1;
|
||||
do_check_arg_id(id);
|
||||
}
|
||||
FMT_CONSTEXPR void check_arg_id(basic_string_view<Char>) {}
|
||||
FMT_CONSTEXPR void check_arg_id(basic_string_view<Char>) {
|
||||
next_arg_id_ = -1;
|
||||
}
|
||||
FMT_CONSTEXPR void check_dynamic_spec(int arg_id);
|
||||
};
|
||||
|
||||
|
||||
@@ -4264,9 +4264,11 @@ void vformat_to(buffer<Char>& buf, basic_string_view<Char> fmt,
|
||||
return parse_context.next_arg_id();
|
||||
}
|
||||
FMT_CONSTEXPR auto on_arg_id(int id) -> int {
|
||||
return parse_context.check_arg_id(id), id;
|
||||
parse_context.check_arg_id(id);
|
||||
return id;
|
||||
}
|
||||
FMT_CONSTEXPR auto on_arg_id(basic_string_view<Char> id) -> int {
|
||||
parse_context.check_arg_id(id);
|
||||
int arg_id = context.arg_id(id);
|
||||
if (arg_id < 0) report_error("argument not found");
|
||||
return arg_id;
|
||||
|
||||
Reference in New Issue
Block a user