Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/usr.bin/xlint/lint1 lint: clean up initialization_init_array...
details: https://anonhg.NetBSD.org/src/rev/d3d22613bcd9
branches: trunk
changeset: 960778:d3d22613bcd9
user: rillig <rillig%NetBSD.org@localhost>
date: Sun Mar 28 18:28:22 2021 +0000
description:
lint: clean up initialization_init_array_using_string
No functional change.
diffstat:
usr.bin/xlint/lint1/init.c | 40 ++++++++++++----------------------------
1 files changed, 12 insertions(+), 28 deletions(-)
diffs (94 lines):
diff -r 953ca47b90b5 -r d3d22613bcd9 usr.bin/xlint/lint1/init.c
--- a/usr.bin/xlint/lint1/init.c Sun Mar 28 18:21:28 2021 +0000
+++ b/usr.bin/xlint/lint1/init.c Sun Mar 28 18:28:22 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: init.c,v 1.169 2021/03/28 18:21:28 rillig Exp $ */
+/* $NetBSD: init.c,v 1.170 2021/03/28 18:28:22 rillig Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: init.c,v 1.169 2021/03/28 18:21:28 rillig Exp $");
+__RCSID("$NetBSD: init.c,v 1.170 2021/03/28 18:28:22 rillig Exp $");
#endif
#include <stdlib.h>
@@ -1166,7 +1166,7 @@
{
tspec_t st;
- if (tp->t_tspec != ARRAY)
+ if (tp == NULL || tp->t_tspec != ARRAY)
return false;
st = tp->t_subt->t_tspec;
return t == CHAR
@@ -1186,7 +1186,6 @@
return false;
debug_enter();
- initialization_debug(in);
level = in->brace_level;
strg = tn->tn_string;
@@ -1195,42 +1194,24 @@
* Check if we have an array type which can be initialized by
* the string.
*/
- if (level->bl_subtype != NULL && level->bl_subtype->t_tspec == ARRAY) {
+ if (is_string_array(level->bl_subtype, strg->st_tspec)) {
debug_step("subtype is an array");
- if (!is_string_array(level->bl_subtype, strg->st_tspec)) {
- debug_leave();
- return false;
- }
/* Put the array at top of stack */
initialization_push(in);
level = in->brace_level;
- /* TODO: what if both bl_type and bl_subtype are ARRAY? */
-
- } else if (level->bl_type != NULL && level->bl_type->t_tspec == ARRAY) {
+ } else if (is_string_array(level->bl_type, strg->st_tspec)) {
debug_step("type is an array");
- if (!is_string_array(level->bl_type, strg->st_tspec)) {
- debug_leave();
- return false;
- }
/*
- * TODO: is this really not needed in the branch above this
- * one?
- */
- /*
* If the array is already partly initialized, we are
* wrong here.
*/
- if (level->bl_remaining != level->bl_type->t_dim) {
- debug_leave();
- return false;
- }
- } else {
- debug_leave();
- return false;
- }
+ if (level->bl_remaining != level->bl_type->t_dim)
+ goto nope;
+ } else
+ goto nope;
/* Get length without trailing NUL character. */
len = strg->st_len;
@@ -1263,6 +1244,9 @@
initialization_debug(in);
debug_leave();
return true;
+nope:
+ debug_leave();
+ return false;
}
/*
Home |
Main Index |
Thread Index |
Old Index