commit 05a69d9d0decf9e8d5037bd8d20bb20c235b2017
Author:     Eivind Uggedal <[email protected]>
AuthorDate: Tue Mar 15 16:02:33 2016 +0000
Commit:     sin <[email protected]>
CommitDate: Wed Mar 16 10:17:51 2016 +0000

    dd: always create of= even if seek= is used

diff --git a/dd.c b/dd.c
index 977f0f0..e37c6c7 100644
--- a/dd.c
+++ b/dd.c
@@ -42,7 +42,7 @@ static int
 prepare_copy(struct dd_config *ddc, int *ifd, int *ofd)
 {
        struct stat st;
-       int fli = O_RDONLY|O_LARGEFILE|O_NOCTTY, flo = 
O_WRONLY|O_LARGEFILE|O_NOATIME|O_NOCTTY;
+       int fli = O_RDONLY|O_LARGEFILE|O_NOCTTY, flo = 
O_WRONLY|O_LARGEFILE|O_CREAT|O_NOATIME|O_NOCTTY;
        uid_t euid = 0;
        long pagesize;
 
@@ -106,7 +106,7 @@ prepare_copy(struct dd_config *ddc, int *ifd, int *ofd)
        }
 
        if (!ddc->seek)
-               flo |= O_CREAT|O_TRUNC;
+               flo |= O_TRUNC;
 
        if (!ddc->out) *ofd = 1;
        else if ((*ofd = open(ddc->out, flo, st.st_mode)) < 0) {

Reply via email to