From c0c9f468b12a79ad8277f0e2b9ff7d42f48490bf Mon Sep 17 00:00:00 2001
From: "Arnold D. Robbins" <arnold@skeeve.com>
Date: Tue, 25 Oct 2022 07:25:20 +0300
Subject: Code simplification in interpret.h.

Reference:https://git.savannah.gnu.org/cgit/gawk.git/patch/?id=c0c9f468b12a79ad8277f0e2b9ff7d42f48490bf
Conflict:tailoring commits on ChangeLog
---
 interpret.h | 30 +++++++++++++++---------------
 1 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/interpret.h b/interpret.h
index f703080..4540d30 100644
--- a/interpret.h
+++ b/interpret.h
@@ -212,38 +212,38 @@ top:
 
 			case Node_var_new:
 uninitialized_scalar:
-				if (op != Op_push_arg_untyped) {
-					/* convert very original untyped to scalar */
-					m->type = Node_var;
-					m->var_value = dupnode(Nnull_string);
-				}
-
 				if (do_lint)
 					lintwarn(isparam ?
 						_("reference to uninitialized argument `%s'") :
 						_("reference to uninitialized variable `%s'"),
 								save_symbol->vname);
-				// set up local param by value
-				if (op != Op_push_arg_untyped)
-					m = dupnode(Nnull_string);
-				UPREF(m);
-				PUSH(m);
-				break;
 
-			case Node_elem_new:
 				if (op != Op_push_arg_untyped) {
-					/* convert very original untyped to scalar */
+					// convert very original untyped to scalar
 					m->type = Node_var;
 					m->var_value = dupnode(Nnull_string);
+
+					// set up local param by value
+					m = dupnode(Nnull_string);
 				}
 
+				UPREF(m);
+				PUSH(m);
+				break;
+
+			case Node_elem_new:
 				if (do_lint)
 					lintwarn(isparam ?
 						_("reference to uninitialized argument `%s'") :
 						_("reference to uninitialized variable `%s'"),
 								save_symbol->vname);
-				// set up local param by value
+
 				if (op != Op_push_arg_untyped) {
+					// convert very original untyped to scalar
+					m->type = Node_var;
+					m->var_value = dupnode(Nnull_string);
+
+					// set up local param by value
 					DEREF(m);
 					m = dupnode(Nnull_string);
 				}
--
