Module Name:    src
Committed By:   rillig
Date:           Sun Oct 31 09:41:48 UTC 2021

Modified Files:
        src/usr.bin/indent: lexi.c

Log Message:
indent: condense lexi_alnum

No functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.117 -r1.118 src/usr.bin/indent/lexi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/indent/lexi.c
diff -u src/usr.bin/indent/lexi.c:1.117 src/usr.bin/indent/lexi.c:1.118
--- src/usr.bin/indent/lexi.c:1.117	Sat Oct 30 22:36:07 2021
+++ src/usr.bin/indent/lexi.c	Sun Oct 31 09:41:48 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: lexi.c,v 1.117 2021/10/30 22:36:07 rillig Exp $	*/
+/*	$NetBSD: lexi.c,v 1.118 2021/10/31 09:41:48 rillig Exp $	*/
 
 /*-
  * SPDX-License-Identifier: BSD-4-Clause
@@ -43,7 +43,7 @@ static char sccsid[] = "@(#)lexi.c	8.1 (
 
 #include <sys/cdefs.h>
 #if defined(__NetBSD__)
-__RCSID("$NetBSD: lexi.c,v 1.117 2021/10/30 22:36:07 rillig Exp $");
+__RCSID("$NetBSD: lexi.c,v 1.118 2021/10/31 09:41:48 rillig Exp $");
 #elif defined(__FreeBSD__)
 __FBSDID("$FreeBSD: head/usr.bin/indent/lexi.c 337862 2018-08-15 18:19:45Z pstef $");
 #endif
@@ -522,53 +522,33 @@ lexi_alnum(void)
 	ps.curr_keyword = kw->kind;
 	ps.next_unary = true;
 
+	/* INDENT OFF */
 	switch (kw->kind) {
-	case kw_switch:
-	    return lsym_switch;
-
-	case kw_case_or_default:
-	    return lsym_case_label;
-
 	case kw_struct_or_union_or_enum:
-	case kw_type:
-    found_typename:
-	    if (ps.p_l_follow > 0) {
-		/* inside parentheses: cast, param list, offsetof or sizeof */
-		ps.cast_mask |= (1 << ps.p_l_follow) & ~ps.not_cast_mask;
-	    }
-	    if (ps.prev_token == lsym_period ||
-		    ps.prev_token == lsym_unary_op)
-		break;
+	case kw_type:		goto found_typename;
+	case kw_case_or_default: return lsym_case_label;
+	case kw_for:		return lsym_for;
+	case kw_if:		return lsym_if;
+	case kw_else:		return lsym_else;
+	case kw_switch:		return lsym_switch;
+	case kw_while:		return lsym_while;
+	case kw_do:		return lsym_do;
+	case kw_storage_class:	return lsym_storage_class;
+	case kw_typedef:	return lsym_typedef;
+	default:		return lsym_ident;
+	}
+	/* INDENT ON */
+
+found_typename:
+	if (ps.p_l_follow > 0) {
+	    /* inside parentheses: cast, param list, offsetof or sizeof */
+	    ps.cast_mask |= (1 << ps.p_l_follow) & ~ps.not_cast_mask;
+	}
+	if (ps.prev_token != lsym_period && ps.prev_token != lsym_unary_op) {
 	    if (kw != NULL && kw->kind == kw_struct_or_union_or_enum)
 		return lsym_tag;
-	    if (ps.p_l_follow > 0)
-		break;
-	    return lsym_type;
-
-	case kw_for:
-	    return lsym_for;
-
-	case kw_if:
-	    return lsym_if;
-
-	case kw_while:
-	    return lsym_while;
-
-	case kw_do:
-	    return lsym_do;
-
-	case kw_else:
-	    return lsym_else;
-
-	case kw_storage_class:
-	    return lsym_storage_class;
-
-	case kw_typedef:
-	    return lsym_typedef;
-
-	default:		/* all others are treated like any other
-				 * identifier */
-	    return lsym_ident;
+	    if (ps.p_l_follow == 0)
+		return lsym_type;
 	}
     }
 
@@ -577,13 +557,13 @@ lexi_alnum(void)
 
 	for (const char *p = inp.s; p < inp.e;)
 	    if (*p++ == ')' && (*p == ';' || *p == ','))
-		goto not_proc;
+		goto no_function_definition;
 
 	strncpy(ps.procname, token.s, sizeof ps.procname - 1);
 	if (ps.in_decl)
 	    ps.in_parameter_declaration = true;
 	return lsym_funcname;
-not_proc:;
+no_function_definition:;
 
     } else if (probably_typename()) {
 	ps.curr_keyword = kw_type;

Reply via email to