diff --git a/include/CLI/impl/Split_inl.hpp b/include/CLI/impl/Split_inl.hpp index 4afdb120b..40eb4141d 100644 --- a/include/CLI/impl/Split_inl.hpp +++ b/include/CLI/impl/Split_inl.hpp @@ -28,8 +28,7 @@ namespace detail { CLI11_INLINE bool split_short(const std::string ¤t, std::string &name, std::string &rest) { if(current.size() > 1 && current[0] == '-' && valid_first_char(current[1])) { - name = current.substr(1, 1); - rest = current.substr(2); + name = current.substr(1); return true; } return false; @@ -113,12 +112,8 @@ get_names(const std::vector &input) { continue; } if(name.length() > 1 && name[0] == '-' && name[1] != '-') { - if(name.length() == 2 && valid_first_char(name[1])) - short_names.emplace_back(1, name[1]); - else if(name.length() > 2) - throw BadNameString::MissingDash(name); - else - throw BadNameString::OneCharName(name); + name = name.substr(1); + short_names.emplace_back(name); } else if(name.length() > 2 && name.substr(0, 2) == "--") { name = name.substr(2); if(valid_name_string(name)) diff --git a/single-include/CLI11.hpp.in b/single-include/CLI11.hpp.in index e84a20aac..66be3b669 100644 --- a/single-include/CLI11.hpp.in +++ b/single-include/CLI11.hpp.in @@ -93,3 +93,8 @@ namespace {namespace} {{ {formatter_inl_hpp} }} // namespace {namespace} + +// Un-define conflicting macros +#undef TRUE +#undef FALSE +#undef CONST