stty: fix mishandling of 'control' keywords (Ralf Friedl <Ralf.Friedl@online.de>)
authorDenis Vlasenko <vda.linux@googlemail.com>
Sun, 27 Jan 2008 23:24:31 +0000 (23:24 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Sun, 27 Jan 2008 23:24:31 +0000 (23:24 -0000)
coreutils/stty.c

index ade2468a896cd6fe47c077eaecd4d683801b5a56..298fb5b70b18a5ae0fa1fb89f39e91632b4c0777 100644 (file)
@@ -780,30 +780,14 @@ static const struct suffix_mult stty_suffixes[] = {
 
 static const struct mode_info *find_mode(const char *name)
 {
-       int i = 0;
-       const char *m = mode_name;
-
-       while (*m) {
-               if (strcmp(name, m) == 0)
-                       return &mode_info[i];
-               m += strlen(m) + 1;
-               i++;
-       }
-       return NULL;
+       int i = index_in_strings(mode_name, name);
+       return i >= 0 ? &mode_info[i] : NULL;
 }
 
 static const struct control_info *find_control(const char *name)
 {
-       int i = 0;
-       const char *m = mode_name;
-
-       while (*m) {
-               if (strcmp(name, m) == 0)
-                       return &control_info[i];
-               m += strlen(m) + 1;
-               i++;
-       }
-       return NULL;
+       int i = index_in_strings(control_name, name);
+       return i >= 0 ? &control_info[i] : NULL;
 }
 
 enum {