From da42bd5bbe6fdda12133e7305b1a3e7cee506cc8 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Sun, 27 Jan 2008 23:24:31 +0000 Subject: stty: fix mishandling of 'control' keywords (Ralf Friedl ) --- coreutils/stty.c | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) (limited to 'coreutils/stty.c') 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 { -- cgit v1.2.3