summaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorAndreas Bühmann2010-06-24 04:32:37 +0200
committerDenys Vlasenko2010-06-24 04:32:37 +0200
commitda75f4484469ca0122b80de69bf3b75a6be71efc (patch)
tree8b7f6f1b13b0692e827a59abd8e6fa4257a6f4d3 /shell
parent1b8e2b0e7620c5f80d93f4b7a5a225afe76c65da (diff)
downloadbusybox-da75f4484469ca0122b80de69bf3b75a6be71efc.zip
busybox-da75f4484469ca0122b80de69bf3b75a6be71efc.tar.gz
ash: <> redir should not truncate
Signed-off-by: Andreas Bühmann <buehmann@users.berlios.de> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell')
-rw-r--r--shell/ash.c2
-rw-r--r--shell/ash_test/ash-redir/redir9.right2
-rw-r--r--shell/ash_test/ash-redir/redir9.tests4
3 files changed, 7 insertions, 1 deletions
diff --git a/shell/ash.c b/shell/ash.c
index f581b5b..1f8f90a 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -4938,7 +4938,7 @@ openredirect(union node *redir)
break;
case NFROMTO:
fname = redir->nfile.expfname;
- f = open(fname, O_RDWR|O_CREAT|O_TRUNC, 0666);
+ f = open(fname, O_RDWR|O_CREAT, 0666);
if (f < 0)
goto ecreate;
break;
diff --git a/shell/ash_test/ash-redir/redir9.right b/shell/ash_test/ash-redir/redir9.right
new file mode 100644
index 0000000..34c2512
--- /dev/null
+++ b/shell/ash_test/ash-redir/redir9.right
@@ -0,0 +1,2 @@
+Ok
+Done:0
diff --git a/shell/ash_test/ash-redir/redir9.tests b/shell/ash_test/ash-redir/redir9.tests
new file mode 100644
index 0000000..8befa61
--- /dev/null
+++ b/shell/ash_test/ash-redir/redir9.tests
@@ -0,0 +1,4 @@
+echo Ok >file.tmp
+cat 0<>file.tmp
+echo Done:$?
+rm file.tmp