From: Denis Vlasenko Date: Sun, 27 Jan 2008 23:24:31 +0000 (-0000) Subject: stty: fix mishandling of 'control' keywords (Ralf Friedl ) X-Git-Tag: 1_10_0~250 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=da42bd5bbe6fdda12133e7305b1a3e7cee506cc8;p=oweals%2Fbusybox.git stty: fix mishandling of 'control' keywords (Ralf Friedl ) --- diff --git a/coreutils/stty.c b/coreutils/stty.c index ade2468a8..298fb5b70 100644 --- a/coreutils/stty.c +++ b/coreutils/stty.c @@ -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 {