hush: simplify parse_stream_dquoted

function                                             old     new   delta
parse_stream_dquoted                                 303     250     -53

Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
diff --git a/shell/hush.c b/shell/hush.c
index d76fe85..5af5259 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -3777,15 +3777,12 @@
 		 * NB: in (unquoted) heredoc, above does not apply to ".
 		 */
 		if (next == dquote_end || strchr("$`\\\n", next) != NULL) {
-			ch = i_getch(input);
-			if (ch != '\n') {
-				o_addqchr(dest, ch);
-				nommu_addchr(as_string, ch);
-			}
-		} else {
-			o_addqchr(dest, '\\');
-			nommu_addchr(as_string, '\\');
-		}
+			ch = i_getch(input); /* eat next */
+			if (ch == '\n')
+				goto again; /* skip \<newline> */
+		} /* else: ch remains == '\\', and we double it */
+		o_addqchr(dest, ch);
+		nommu_addchr(as_string, ch);
 		goto again;
 	}
 	if (ch == '$') {
@@ -3808,13 +3805,6 @@
 	}
 #endif
 	o_addQchr(dest, ch);
-	if (ch == '='
-	 && (dest->o_assignment == MAYBE_ASSIGNMENT
-	    || dest->o_assignment == WORD_IS_KEYWORD)
-	 && is_well_formed_var_name(dest->data, '=')
-	) {
-		dest->o_assignment = DEFINITELY_ASSIGNMENT;
-	}
 	goto again;
 #undef as_string
 }