aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shell/ash.c2
-rw-r--r--shell/ash_test/ash-read/read_ifs.right17
-rwxr-xr-xshell/ash_test/ash-read/read_ifs.tests17
3 files changed, 21 insertions, 15 deletions
diff --git a/shell/ash.c b/shell/ash.c
index 2c1779f32..b47f0e881 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -12615,7 +12615,7 @@ readcmd(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
12615#endif 12615#endif
12616 12616
12617 status = 0; 12617 status = 0;
12618 startword = 2; 12618 startword = 1;
12619 backslash = 0; 12619 backslash = 0;
12620#if ENABLE_ASH_READ_TIMEOUT 12620#if ENABLE_ASH_READ_TIMEOUT
12621 if (timeout) /* NB: ensuring end_ms is nonzero */ 12621 if (timeout) /* NB: ensuring end_ms is nonzero */
diff --git a/shell/ash_test/ash-read/read_ifs.right b/shell/ash_test/ash-read/read_ifs.right
index 027ecd18f..b52334456 100644
--- a/shell/ash_test/ash-read/read_ifs.right
+++ b/shell/ash_test/ash-read/read_ifs.right
@@ -1,7 +1,10 @@
1.a. .b. .c. 1test 1: .a. .b. .c.
2.a. .b. .c. 2test 2: .a. .b. .c.
3.a. .. .b,c. 3test 3: .a. .. .b,c.
4.a. .. .b,c. 4test 4: .a. .. .b,c.
5.a. .. .c. 5test 5: .a. .. .c.
6.a. .. .c. .d. 6test 6: .a. .. .c. .d.
7.a. .. .b,c,d , ,. 7test 7: .a. .. .b,c,d , ,.
8test 8: .. .a. .b. .c.
9test 9: .a. .b. .c. ..
10test A: .. .a. .. .b. .c.
diff --git a/shell/ash_test/ash-read/read_ifs.tests b/shell/ash_test/ash-read/read_ifs.tests
index cf7cd934c..6e8311247 100755
--- a/shell/ash_test/ash-read/read_ifs.tests
+++ b/shell/ash_test/ash-read/read_ifs.tests
@@ -1,7 +1,10 @@
1printf 'a\t\tb\tc\n' | ( IFS=$(printf "\t") read a b c; echo ".$a. .$b. .$c." ) 1printf 'a\t\tb\tc\n' | ( IFS=$(printf "\t") read a b c; echo "test 1: .$a. .$b. .$c." )
2printf 'a\t\tb\tc\n' | ( IFS=$(printf " \t") read a b c; echo ".$a. .$b. .$c." ) 2printf 'a\t\tb\tc\n' | ( IFS=$(printf " \t") read a b c; echo "test 2: .$a. .$b. .$c." )
3printf 'a,,b,c\n' | ( IFS="," read a b c; echo ".$a. .$b. .$c." ) 3printf 'a,,b,c\n' | ( IFS="," read a b c; echo "test 3: .$a. .$b. .$c." )
4printf 'a,,b,c\n' | ( IFS=" ," read a b c; echo ".$a. .$b. .$c." ) 4printf 'a,,b,c\n' | ( IFS=" ," read a b c; echo "test 4: .$a. .$b. .$c." )
5printf 'a ,, c\n' | ( IFS=" ," read a b c; echo ".$a. .$b. .$c." ) 5printf 'a ,, c\n' | ( IFS=" ," read a b c; echo "test 5: .$a. .$b. .$c." )
6printf 'a ,, c d\n' | ( IFS=" ," read a b c d; echo ".$a. .$b. .$c. .$d." ) 6printf 'a ,, c d\n' | ( IFS=" ," read a b c d; echo "test 6: .$a. .$b. .$c. .$d." )
7printf ' a,,b,c,d , ,\n' | ( IFS=" ," read a b c; echo ".$a. .$b. .$c." ) 7printf ' a,,b,c,d , ,\n' | ( IFS=" ," read a b c; echo "test 7: .$a. .$b. .$c." )
8printf '\t,\ta\t,\tb\tc' | ( IFS=$(printf " \t,") read a b c d; echo "test 8: .$a. .$b. .$c. .$d." )
9printf '\t\ta\t,\tb\tc' | ( IFS=$(printf " \t,") read a b c d; echo "test 9: .$a. .$b. .$c. .$d." )
10printf '\t,\ta\t,,\tb\tc' | ( IFS=$(printf " \t,") read a b c d e; echo "test A: .$a. .$b. .$c. .$d. .$e." )