ash: improve readability of the code. No real code changes.

diff --git a/shell/ash.c b/shell/ash.c
index 8a731fd..e407dc3 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -11146,7 +11146,8 @@
 						}
 					}
 				}
-				return lasttoken = xxreadtoken_tokens[p - xxreadtoken_chars];
+				lasttoken = xxreadtoken_tokens[p - xxreadtoken_chars];
+				return lasttoken;
 			}
 		}
 	} /* for */
@@ -12997,21 +12998,19 @@
 	char arithval; /* Current character under analysis */
 	operator lasttok, op;
 	operator prec;
-
+	operator *stack, *stackptr;
 	const char *p = endexpression;
 	int errcode;
-
-	size_t datasizes = strlen(expr) + 2;
+	v_n_t *numstack, *numstackptr;
+	unsigned datasizes = strlen(expr) + 2;
 
 	/* Stack of integers */
 	/* The proof that there can be no more than strlen(startbuf)/2+1 integers
 	 * in any given correct or incorrect expression is left as an exercise to
 	 * the reader. */
-	v_n_t *numstack = alloca(((datasizes)/2)*sizeof(v_n_t)),
-				*numstackptr = numstack;
+	numstackptr = numstack = alloca((datasizes / 2) * sizeof(numstack[0]));
 	/* Stack of operator tokens */
-	operator *stack = alloca((datasizes) * sizeof(operator)),
-				*stackptr = stack;
+	stackptr = stack = alloca(datasizes * sizeof(stack[0]));
 
 	*stackptr++ = lasttok = TOK_LPAREN;     /* start off with a left paren */
 	*perrcode = errcode = 0;
@@ -13040,7 +13039,8 @@
 			if (numstackptr != numstack+1) {
 				/* ... but if there isn't, it's bad */
  err:
-				return (*perrcode = -1);
+				*perrcode = -1;
+				return *perrcode;
 			}
 			if (numstack->var) {
 				/* expression is $((var)) only, lookup now */