Block, macro, and optional names are all in stored in a block symtab. A declarations fully-qualified name includes all of the block names from the root node to the declaration separated by dots. Macro and optional names are only used when trying to determine the block referred to by an "in" block. An optional block name might be stored in a macro's symtab, but optional blocks have no symtab and (*datum)->symtab just refers to the symtab of the datum which would be the current symtab. Since the assignment is not needed, remove it so the code is clearer. Signed-off-by: James Carter <jwcart2@xxxxxxxxx> --- libsepol/cil/src/cil_resolve_ast.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/libsepol/cil/src/cil_resolve_ast.c b/libsepol/cil/src/cil_resolve_ast.c index 410b8c87..9e6afca9 100644 --- a/libsepol/cil/src/cil_resolve_ast.c +++ b/libsepol/cil/src/cil_resolve_ast.c @@ -4209,9 +4209,6 @@ int cil_resolve_name_keep_aliases(struct cil_tree_node *ast_node, char *name, en if (node->flavor == CIL_MACRO) { struct cil_macro *macro = node->data; symtab = ¯o->symtab[sym_index]; - } else { - /* optional */ - symtab = (*datum)->symtab; } } current = next; -- 2.25.4