Kaynağa Gözat

Fix if / elif handling bug in HUSH shell

wdenk 21 yıl önce
ebeveyn
işleme
56b86bf0cd
3 değiştirilmiş dosya ile 8 ekleme ve 2 silme
  1. 6 0
      CHANGELOG
  2. 1 1
      common/hush.c
  3. 1 1
      include/version.h

+ 6 - 0
CHANGELOG

@@ -1,3 +1,9 @@
+======================================================================
+Changes for U-Boot 1.1.1:
+======================================================================
+
+* Fix if / elif handling bug in HUSH shell
+
 ======================================================================
 Changes for U-Boot 1.1.0:
 ======================================================================

+ 1 - 1
common/hush.c

@@ -1843,7 +1843,7 @@ static int run_list_real(struct pipe *pi)
 		if (rmode == RES_THEN || rmode == RES_ELSE) if_code = next_if_code;
 		if (rmode == RES_THEN &&  if_code) continue;
 		if (rmode == RES_ELSE && !if_code) continue;
-		if (rmode == RES_ELIF && !if_code) continue;
+		if (rmode == RES_ELIF && !if_code) break;
 		if (rmode == RES_FOR && pi->num_progs) {
 			if (!list) {
 				/* if no variable values after "in" we skip "for" */

+ 1 - 1
include/version.h

@@ -24,6 +24,6 @@
 #ifndef	__VERSION_H__
 #define	__VERSION_H__
 
-#define	U_BOOT_VERSION	"U-Boot 1.1.0"
+#define	U_BOOT_VERSION	"U-Boot 1.1.1"
 
 #endif	/* __VERSION_H__ */