[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: dd skip bug?
From: |
Jim Meyering |
Subject: |
Re: dd skip bug? |
Date: |
Tue, 27 Jan 2009 11:50:32 +0100 |
Pádraig Brady <address@hidden> wrote:
...
> I changed message as shown below.
> But in further testing before commiting I noticed an inconsistency
> with my fix for this case, specifically when dealing with blocksizes > 1.
>
> For seekable files I count a partial block as an unread record,
> thus printing the diagnostic. This is not the case for pipes though
> as demonstrated here:
Good catch.
> $ truncate -s3 pb.size
>
> $ dd iflag=fullblock bs=2 skip=2 if=pb.size
> ./dd: `pb.size': skip offset was past end of input file: Invalid argument
>
> $ cat pb.size | ./dd iflag=fullblock bs=2 skip=2
>
> $ cat pb.size | ./dd iflag=fullblock bs=1 skip=4
> ./dd: `standard input': skip offset was past end of input file: Invalid
> argument
>
> So should the first dd command not print the message,
> or should the second dd command print the message?
Whatever you prefer, as long as it's consistent.
> I leaning towards changing skip() for seekable files
> to return the number of _full_ records unskipped
> to keep it the same as for pipes.
> Then printing the warning for all cases where
> the input offset != skip*bs ?
But remember that the initial offset for a seekable file
need not be zero. I.e., this should now evoke a warning:
printf 1234 > k && (dd bs=1 skip=2 count=0 && dd bs=1 skip=3) < k
- Re: dd skip bug?, Pádraig Brady, 2009/01/15
- Re: dd skip bug?, Pádraig Brady, 2009/01/23
- Re: dd skip bug?, Jim Meyering, 2009/01/24
- Re: dd skip bug?, Pádraig Brady, 2009/01/26
- Re: dd skip bug?,
Jim Meyering <=
- Re: dd skip bug?, Pádraig Brady, 2009/01/27
- Re: dd skip bug?, Pádraig Brady, 2009/01/27
- Re: dd skip bug?, Jim Meyering, 2009/01/27
- Re: dd skip bug?, Pádraig Brady, 2009/01/27