bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: dd skip bug?


From: Pádraig Brady
Subject: Re: dd skip bug?
Date: Thu, 17 Apr 2008 09:47:00 +0100
User-agent: Thunderbird 2.0.0.6 (X11/20071008)

Jim Meyering wrote:
> Pádraig Brady <address@hidden> wrote:
>> dd handles skip weirdly
>>
>> disk=/dev/sda8
>> dd if=$disk bs=8M count=1 skip=1000 of=/dev/null  #ok
>> dd if=$disk bs=8M count=1 skip=1000K of=/dev/null #reads whole disk! as seek 
>> fails
>>
>> I had a 10s look at the source and noticed a comment
>> saying POSIX doesn't specify what we should do when
>> skipping past the end of input. For seekable files though,
>> reading the whole thing is unexpected to me at least.
>> I would expect it to do:
>>
>> if (seekable && !seek(skip_len))
>>     exit(EXIT_FAILURE);
> 
> Thanks, but the existing behavior is deliberate, and IMHO, necessary.
> 
> skip=N is required to try to seek, and failing that, position
> the read pointer by calling read.  That is so it works on
> e.g., redirected stdin as well as on regular files.

redirected stdin is seekable.
Note the logic I presented above.

Pádraig.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]