Fix how the shell appends.

This commit is contained in:
Jonas 'Sortie' Termansen 2014-09-29 22:31:30 +02:00
parent 66f1a62743
commit 2492f0bad7
1 changed files with 6 additions and 2 deletions

View File

@ -331,8 +331,12 @@ readcmd:
if ( outputfile )
{
close(1);
int flags = O_CREAT | O_WRONLY | O_APPEND;
if ( strcmp(execmode, ">") == 0 ) { flags |= O_TRUNC; }
// TODO: Is this logic right or wrong?
int flags = O_CREAT | O_WRONLY;
if ( strcmp(execmode, ">") == 0 )
flags |= O_TRUNC;
if ( strcmp(execmode, ">>") == 0 )
flags |= O_APPEND;
if ( open(outputfile, flags, 0666) < 0 )
{
error(127, errno, "%s", outputfile);