diff --git a/common/json-schema-to-grammar.cpp b/common/json-schema-to-grammar.cpp index b5ead70aa..61bdd1bf9 100644 --- a/common/json-schema-to-grammar.cpp +++ b/common/json-schema-to-grammar.cpp @@ -333,7 +333,7 @@ static void _generate_min_max_int(int min_value, int max_value, std::stringstrea _generate_min_max_int(0, max_value, out, decimals_left, /* top_level= */ true); } else { out << "\"-\" ("; - _generate_min_max_int(std::numeric_limits::min(), -max_value, out, decimals_left, /* top_level= */ false); + _generate_min_max_int(-max_value, std::numeric_limits::max(), out, decimals_left, /* top_level= */ false); out << ")"; } return; diff --git a/tests/test-json-schema-to-grammar.cpp b/tests/test-json-schema-to-grammar.cpp index ba6000ae0..c0c67c9b3 100755 --- a/tests/test-json-schema-to-grammar.cpp +++ b/tests/test-json-schema-to-grammar.cpp @@ -180,6 +180,18 @@ static void test_all(const std::string & lang, std::function