aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ponymix.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/ponymix.cc b/ponymix.cc
index b3c1b98..8ad23ed 100644
--- a/ponymix.cc
+++ b/ponymix.cc
@@ -449,8 +449,14 @@ static const std::pair<const string, const Command>& string_to_command(
};
const auto match = actionmap.lower_bound(str);
+
+ // Check for exact match
+ if (match->first == str) {
+ return *match;
+ }
+
+ // Match on prefix, ensure only a single match
for (auto iter = match; iter != actionmap.end(); iter++) {
- // Match on prefix, ensure only a single match
if (iter->first.find(str) != 0) {
if (iter == match) {
errx(1, "error: Invalid action specified: %s", str);