diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/lib/testqa.cc b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/lib/testqa.cc index 4b4ec2a2f..113308e71 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/lib/testqa.cc +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/lib/testqa.cc @@ -25,6 +25,7 @@ #include // for operator<<, basic_ostream, endl, char... #include // IWYU pragma: keep #include // for map, map<>::iterator, _Rb_tree_iterator +#include // for stringstream #include // for string, operator<< #include // for pair #include // for vector @@ -48,15 +49,16 @@ int main(int argc, char* argv[]) std::vector results; if (argc > 1) { - const size_t len = std::char_traits::length(argv[1]); - if (len == 0 || len > 2046) + std::stringstream ss; + ss << argv[1]; + if (ss.fail()) { - std::cerr << "Test name is too long." << std::endl; + std::cerr << "Test name not correctly set." << std::endl; return 0; } for (unsigned int ii = 0; ii < test_cases.size(); ++ii) { - if (std::string(argv[1]) == test_cases[ii].name()) + if (ss.str() == test_cases[ii].name()) { volk_gnsssdr_test_case_t test_case = test_cases[ii]; if (run_volk_gnsssdr_tests(test_case.desc(), test_case.kernel_ptr(),