From d1814d3922c490c7307e2ce677774e2020c31117 Mon Sep 17 00:00:00 2001 From: ToruNiina Date: Mon, 8 May 2017 19:08:30 +0900 Subject: [PATCH] fix arguments --- toml/parser.hpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/toml/parser.hpp b/toml/parser.hpp index be612e7..4f7cd98 100644 --- a/toml/parser.hpp +++ b/toml/parser.hpp @@ -479,13 +479,13 @@ struct parse_datetime static result_type invoke(Iterator iter, Iterator end) { Iterator tmp = is_offset_date_time::invoke(iter); - if(tmp != iter) return parse_offset_date_time::invoke(iter); + if(tmp != iter) return parse_offset_date_time::invoke(iter, tmp); tmp = is_local_date_time::invoke(iter); - if(tmp != iter) return parse_local_date_time::invoke(iter); + if(tmp != iter) return parse_local_date_time::invoke(iter, tmp); tmp = is_local_date::invoke(iter); - if(tmp != iter) return parse_local_date::invoke(iter); + if(tmp != iter) return parse_local_date::invoke(iter, tmp); tmp = is_local_time::invoke(iter); - if(tmp != iter) return parse_local_time::invoke(iter); + if(tmp != iter) return parse_local_time::invoke(iter, tmp); throw internal_error("no datetime here"); } }; @@ -634,9 +634,9 @@ struct parse_key static result_type invoke(Iterator iter, Iterator end) { if(iter != is_barekey::invoke(iter)) - return parse_barekey(iter, end); + return parse_barekey::invoke(iter, end); else if(iter != is_string::invoke(iter)) - return parse_string(iter, end); + return parse_string::invoke(iter, end); throw internal_error("no valid key here"); } }; @@ -675,8 +675,9 @@ struct parse_inline_table value_type>::value>::type> static result_type invoke(Iterator iter, Iterator end) { + --end; assert(*iter == '{' && *end == '}'); - ++iter; --end; + ++iter; iter = is_any_num_of_ws::invoke(iter); result_type result;