From: Alan T. DeKok Date: Thu, 20 Jan 2022 21:25:57 +0000 (-0500) Subject: have only one return point from tokenize_expression() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7f4a58b38c2e7dea7fab7cbacf292307ad59631e;p=thirdparty%2Ffreeradius-server.git have only one return point from tokenize_expression() which may make it easier to groupify things. --- diff --git a/src/lib/unlang/xlat_expr.c b/src/lib/unlang/xlat_expr.c index f10dce7a47..b982d256d8 100644 --- a/src/lib/unlang/xlat_expr.c +++ b/src/lib/unlang/xlat_expr.c @@ -1094,6 +1094,7 @@ redo: * No more input, we're done. */ if (fr_sbuff_extend(&in) == 0) { + done: *head = lhs; return fr_sbuff_set(input, &in); } @@ -1111,8 +1112,7 @@ redo: FR_SBUFF_ERROR_RETURN(&in); } - *head = lhs; - return fr_sbuff_set(input, &in); + goto done; } fr_sbuff_skip_whitespace(&in); @@ -1173,8 +1173,8 @@ redo: * take care of continuing. */ if (precedence[op] <= precedence[prev]) { - *head = lhs; - return fr_sbuff_set(input, &marker); + fr_sbuff_set(&in, &marker); + goto done; } /*