From f7f353db68cf4cc271a9b8ae8b33a280c999c399 Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Tue, 21 Jun 2016 18:15:08 +0200 Subject: [PATCH] bin: improve range diagnostic Fixes #181. * bin/common_range.cc: Here. * tests/core/ltlfilt.test: Add test case. --- bin/common_range.cc | 7 +++++-- tests/core/ltlfilt.test | 4 ++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/bin/common_range.cc b/bin/common_range.cc index 44121e685..8909a26c0 100644 --- a/bin/common_range.cc +++ b/bin/common_range.cc @@ -1,6 +1,6 @@ // -*- coding: utf-8 -*- -// Copyright (C) 2012, 2014 Laboratoire de Recherche et Développement de -// l'Epita (LRDE). +// Copyright (C) 2012, 2014, 2016 Laboratoire de Recherche et +// Développement de l'Epita (LRDE). // // This file is part of Spot, a model checking library. // @@ -67,6 +67,9 @@ parse_range(const char* str, int missing_left, int missing_right) // Parse the next integer. char* end2; res.max = strtol(end, &end2, 10); + if (str == end2) + error(1, 0, "invalid range '%s' " + "(should start with digits, dots, or colon)", str); if (end == end2) error(1, 0, "invalid range '%s' (missing end?)", str); if (*end2) diff --git a/tests/core/ltlfilt.test b/tests/core/ltlfilt.test index 31d37265c..ac775e575 100755 --- a/tests/core/ltlfilt.test +++ b/tests/core/ltlfilt.test @@ -344,4 +344,8 @@ test "`cat out`" = 'GF"a\"\\b"' $ltlfilt --lbt-input -f 'G F "a\"\\b"' -l > out test "`cat out`" = 'G F "a\"\\b"' + +$ltlfilt --size=foo=2..3 2>stderr && exit 1 +grep 'invalid range.*should start with' stderr + true -- GitLab