From 2882208e0ba42538166b6796a2d40787eaa98e9f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 31 Jan 2021 22:05:33 -0500 Subject: [PATCH] must report index1 as 0 for type == ArgInfo::NONE --- src/arg_info.cpp | 11 +++++++++-- unittest/utils/test_argutils.cpp | 8 ++++---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/arg_info.cpp b/src/arg_info.cpp index 2453d6df93..225b822fb9 100644 --- a/src/arg_info.cpp +++ b/src/arg_info.cpp @@ -26,6 +26,7 @@ ArgInfo::ArgInfo(const std::string &arg, int allowed) else if ((arg[0] == 'f') && (allowed & FIX)) type = FIX; else if ((arg[0] == 'v') && (allowed & VARIABLE)) type = VARIABLE; else { + index1 = 0; name = arg; return; } @@ -59,8 +60,14 @@ ArgInfo::ArgInfo(const std::string &arg, int allowed) type = UNKNOWN; } } - } else name = arg.substr(2); - } else name = arg; + } else { + index1 = 0; + name = arg.substr(2); + } + } else { + index1 = 0; + name = arg; + } } /* ---------------------------------------------------------------------- */ diff --git a/unittest/utils/test_argutils.cpp b/unittest/utils/test_argutils.cpp index 4d75526013..ef370c44ea 100644 --- a/unittest/utils/test_argutils.cpp +++ b/unittest/utils/test_argutils.cpp @@ -24,7 +24,7 @@ TEST(ArgInfo, plain) ArgInfo arg("text"); ASSERT_EQ(arg.get_dim(), 0); ASSERT_EQ(arg.get_type(), ArgInfo::NONE); - ASSERT_EQ(arg.get_index1(), -1); + ASSERT_EQ(arg.get_index1(), 0); ASSERT_EQ(arg.get_index2(), -1); ASSERT_THAT(arg.get_name(), StrEq("text")); } @@ -44,7 +44,7 @@ TEST(ArgInfo, compute0) ArgInfo arg("c_text"); ASSERT_EQ(arg.get_dim(), 0); ASSERT_EQ(arg.get_type(), ArgInfo::COMPUTE); - ASSERT_EQ(arg.get_index1(), -1); + ASSERT_EQ(arg.get_index1(), 0); ASSERT_EQ(arg.get_index2(), -1); ASSERT_THAT(arg.get_name(), StrEq("text")); } @@ -74,7 +74,7 @@ TEST(ArgInfo, fix0) ArgInfo arg("f_2"); ASSERT_EQ(arg.get_dim(), 0); ASSERT_EQ(arg.get_type(), ArgInfo::FIX); - ASSERT_EQ(arg.get_index1(), -1); + ASSERT_EQ(arg.get_index1(), 0); ASSERT_EQ(arg.get_index2(), -1); ASSERT_THAT(arg.get_name(), StrEq("2")); } @@ -104,7 +104,7 @@ TEST(ArgInfo, variable0) ArgInfo arg("v_text"); ASSERT_EQ(arg.get_dim(), 0); ASSERT_EQ(arg.get_type(), ArgInfo::VARIABLE); - ASSERT_EQ(arg.get_index1(), -1); + ASSERT_EQ(arg.get_index1(), 0); ASSERT_EQ(arg.get_index2(), -1); ASSERT_THAT(arg.get_name(), StrEq("text")); }