diff options
Diffstat (limited to 'v4l2-apps')
-rw-r--r-- | v4l2-apps/util/v4l2-ctl.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/v4l2-apps/util/v4l2-ctl.cpp b/v4l2-apps/util/v4l2-ctl.cpp index 8a9287418..57d98fc13 100644 --- a/v4l2-apps/util/v4l2-ctl.cpp +++ b/v4l2-apps/util/v4l2-ctl.cpp @@ -485,10 +485,16 @@ static void print_sliced_vbi_cap(struct v4l2_sliced_vbi_cap &cap) static std::string name2var(unsigned char *name) { std::string s; + int add_underscore = 0; while (*name) { - if (*name == ' ') s += "_"; - else s += std::string(1, tolower(*name)); + if (isalnum(*name)) { + if (add_underscore) + s += '_'; + add_underscore = 0; + s += std::string(1, tolower(*name)); + } + else if (s.length()) add_underscore = 1; name++; } return s; |