浏览代码

autoscr: Fix one-character lines and non-newline terminated scripts

When not using hush, the autoscr command now executes lines that are
only one character long. It also runs the last line of scripts even if
it does not end in a newline.

Signed-off-by: Petri Lehtinen <petri.lehtinen@inoi.fi>
Petri Lehtinen 16 年之前
父节点
当前提交
3591293509
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      common/cmd_autoscript.c

+ 3 - 1
common/cmd_autoscript.c

@@ -180,7 +180,7 @@ autoscript (ulong addr, const char *fit_uname)
 			if (*next == '\n') {
 				*next = '\0';
 				/* run only non-empty commands */
-				if ((next - line) > 1) {
+				if (*line) {
 					debug ("** exec: \"%s\"\n",
 						line);
 					if (run_command (line, 0) < 0) {
@@ -192,6 +192,8 @@ autoscript (ulong addr, const char *fit_uname)
 			}
 			++next;
 		}
+		if (rcode == 0 && *line)
+			rcode = (run_command(line, 0) >= 0);
 	}
 #endif
 	free (cmd);