- if (CHK("quit")) {
- tp->c_cc[VQUIT] = tmp;
- continue;
- }
- if (CHK("reprint")) {
- tp->c_cc[VREPRINT] = tmp;
- continue;
- }
- if (CHK("start")) {
- tp->c_cc[VSTART] = tmp;
- continue;
- }
- if (CHK("status")) {
- tp->c_cc[VSTATUS] = tmp;
- continue;
- }
- if (CHK("stop")) {
- tp->c_cc[VSTOP] = tmp;
- continue;
- }
- if (CHK("susp")) {
- tp->c_cc[VSUSP] = tmp;
- continue;
- }
- if (CHK("time")) {
- (void)sscanf(ep, "%ld", &tmp);
- tp->c_cc[VTIME] = tmp;
- continue;
- }
- if (CHK("werase")) {
- tp->c_cc[VWERASE] = tmp;
- continue;
- }
- gerr(p);
+ for (cp = cchars1; cp->name != NULL; ++cp)
+ if (CHK(cp->name)) {
+ if (cp->sub == VMIN || cp->sub == VTIME)
+ (void)sscanf(ep, "%ld", &tmp);
+ tp->c_cc[cp->sub] = tmp;
+ break;
+ }
+ if (cp->name == NULL)
+ gerr(p);