Fix incorrect message when mUsedName is empty

Previously, it printed ": expected 1 argument(s). 0 provided." when one positional argument is defined but nothing is provided. Now it prints "1 argument(s) expected. 0 provided."
This commit is contained in:
bufferbase 2020-06-04 17:06:20 -07:00 committed by GitHub
parent 176da54c9b
commit 43f4629be5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -452,8 +452,10 @@ public:
} else {
if (mValues.size() != expected && !mDefaultValue.has_value()) {
std::stringstream stream;
stream << mUsedName << ": expected " << *expected << " argument(s). "
<< mValues.size() << " provided.";
if (!mUsedName.empty())
stream << mUsedName << ": ";
stream << *expected << " argument(s) expected. " << mValues.size()
<< " provided.";
throw std::runtime_error(stream.str());
}
}