summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAndreas Bühmann <buehmann@users.berlios.de>2010-06-24 04:32:37 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2010-06-24 04:32:37 +0200
commitda75f4484469ca0122b80de69bf3b75a6be71efc (patch)
tree8b7f6f1b13b0692e827a59abd8e6fa4257a6f4d3
parent1b8e2b0e7620c5f80d93f4b7a5a225afe76c65da (diff)
ash: <> redir should not truncate
Signed-off-by: Andreas Bühmann <buehmann@users.berlios.de> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-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 f581b5bdf..1f8f90a09 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 000000000..34c2512e4
--- /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 000000000..8befa611c
--- /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