From ff20194214759f8397da32816871722cb576ef17 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Tue, 16 Apr 2013 09:53:49 -0400 Subject: [PATCH] Simplify error node Signed-off-by: Mathieu Desnoyers --- formats/ctf/metadata/ctf-parser.y | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/formats/ctf/metadata/ctf-parser.y b/formats/ctf/metadata/ctf-parser.y index 5d2415c7..40cf65e9 100644 --- a/formats/ctf/metadata/ctf-parser.y +++ b/formats/ctf/metadata/ctf-parser.y @@ -83,8 +83,12 @@ static const char *node_type_to_str[] = { #undef ENTRY }; -/* Static node for out of memory errors */ -static __thread struct ctf_node error_node = { +/* + * Static node for out of memory errors. Only "type" is used. lineno is + * always left at 0. The rest of the node content can be overwritten, + * but is never used. + */ +static struct ctf_node error_node = { .type = NODE_ERROR, }; @@ -333,8 +337,7 @@ static struct ctf_node *make_node(struct ctf_scanner *scanner, node = malloc(sizeof(*node)); if (!node) { - error_node.lineno = yyget_lineno(scanner->scanner); - printfl_fatal(error_node.lineno, "out of memory"); + printfl_fatal(yyget_lineno(scanner->scanner), "out of memory"); return &error_node; } memset(node, 0, sizeof(*node)); -- 2.34.1