| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Reorganize the handling all-zeroes terminal block in sparse mode
PR: 189284
(original PR whose fix introduced this bug)
PR: 207092
|
|
|
|
|
|
|
|
|
| |
(dd_out): Fix handling of all-zeroes block at end of input with
conv=sparse.
PR: bin/189174
PR: bin/189284
Reviewed by: kib
|
|
|
|
|
|
|
|
|
| |
PR: bin/75258
Submitted by: "Oleg V. Nauman" <oleg@reis.zp.ua>
Arrival Date: Sun Dec 19 14:50:21 GMT 2004
Reviewed by: mjg, jhb
Reviewed by: jilles (earlier version)
MFC after: 1 week
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the bs= expr operand is specified and no conversions other than sync,
noerror, or notrunc are requested, the data returned from each input
block shall be written as a separate output block.
In particular, when both bs=size and conv=sparce were specified, the
resulted file was fully filled, instead of sparce.
PR: standards/177742
Submitted by: Matthew Rezny <mrezny@hexaneinc.com>
MFC after: 2 weeks
|
|
|
|
|
|
|
|
|
|
| |
Introduce an explicit close of the output descriptor so that work done
on close is accounted for in the summary output triggered at exit
(implicit close()s occur after atexit() hooks).
This is useful because some devices such as cfi(4) may perform
signficant work after a close occurs (e.g. erasing and rewriting a
block of flash).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This structure is not part of POSIX. According to POSIX, gettimeofday()
has the following prototype:
int gettimeofday(struct timeval *restrict tp, void *restrict tzp);
Also, POSIX states that gettimeofday() shall return 0 (as long as tzp is
not used). Remove dead error handling code. Also use NULL for a
nul-pointer instead of integer 0.
While there, change all pieces of code that only use tv_sec to use
time(3), as this provides less overhead.
|
|
|
|
|
|
|
| |
to specify an alternative padding character when using a conversion
mode, or when using noerror with sync and an input error occurs. This
facilities reading old and error-prone media by allowing the user to
more effectively mark error blocks in the output stream.
|
|
|
|
| |
OK'ed by: imp, core
|
| |
|
| |
|
|
|
|
|
|
| |
-ansi, due to 'long long'.
Reviewed by: green (slightly earlier version)
|
|
|
|
| |
like this negated any practical value of the feature.
|
| |
|
|
|
|
|
|
|
|
| |
thus breaking systems with unpolluted <sys/stat.h>'s.
2) Back out an initialisation of a variable in BSS.
Reported by: bde (1), many(2)
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
o Old-style K&R declarations have been converted to new C89 style
o register has been removed
o prototype for main() has been removed (gcc3 makes it an error)
o int main(int argc, char *argv[]) is the preferred main definition.
o Attempt to not break style(9) conformance for declarations more than
they already are.
Approved by: arch@, new style(9)
|
|
|
|
|
| |
debogosify some of the command-line string-number conversions into
an unsigned and signed variant.)
|
|
|
|
| |
Submitted by: Mike Barcroft <mike@q9media.com>
|
|
|
|
| |
<time.h>).
|
| |
|
|
|
|
|
| |
Also, check for ftruncate() return value and die on failure, but only
try to ftruncate() when the file is a regular file.
|
|
|
|
|
|
| |
to be overwritten.
Submitted by: green
|
| |
|
|
|
|
|
|
| |
what I was trying to do work much better (ie at all. I could have sworn
it was working...) Fix a SEEK_SET to be SEEK_CUR, and make Bruce's
lseek() test work correctly.
|
|
|
|
| |
we're done (not yet!) :)
|
|
|
|
| |
Allow a device type of D_DISK or D_MEM to be ISSEEK.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BDEification process of dd(1). Most of the changes are from BDE's archive.
Support for negative offsets is gone again, but the case where you
lseek() onto byte -1 of something from a negative offset using seek/skip
is fixed; if you end up on -1, you won't get a false positive lseek failure.
The biggest changes are to data types (more size_t, for instance) and
argument parsing. skip/seek on /dev/{,k}mem now occurs (instead of "read
until you reach the offset") due to mem devices now being D_DISK. Some
const things are now correctly declared as such, and the "case table"
building is better. The only thing that seems to be left to make dd(1)
everything TOG wants it to be is l10n.
|
|
|
|
|
| |
Pointy hat: green
Pointed out by: peter
|
| |
|
| |
|
|
|
|
|
|
| |
Also, fix pos_out() to do the same checks pos_in() did.
Done for: jdp, luigi, the good of the world
|
|
|
|
|
|
|
|
| |
request of Bruce. More changes may follow later. 'g' multiplier has
been added (i.e. dd seek=5g if=bigfile.) Some minor corrections were made
as well.
Noticed by: bde
|
|
|
|
|
| |
off_t, int, u_int64_t, etc.). dd(1) should now work properly with REALLY
big amounts of data.
|
|
|
|
|
|
|
|
|
|
| |
statement if blocks[*] when the else could be ambiguous, not defaulting
to int type and removal of some unused variables.
[*] This is explicitly allowed by style(9) when the single statement
spans more than one line.
Reviewed by: obrien, chuckr
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
dd if=/dev/zero of=/dev=null obs=23520 conv=swab
coredumped.
Please somebody review it, i'm not 105 % sure i'm understanding all
this mess correctly.
Detected by: Holm Tiffe <holm@geophysik.tu-freiberg.de>
|
|
|
|
|
|
|
| |
things like diskless clients' swap files etc.
Submitted by: pascal@zuo.dec.com (Pascal Pederiva) (ages ago, with many
stylistic changes by me)
|
|
|
|
|
|
|
|
|
|
| |
is also set.
Change osync to not to tack on an empty block if the input buffer is null,
or an even multiple of the blocksize.
Also change osync to pad the output with nulls/spaces depending whether
this is a block-oriented conversion or not (same as sync).
PR: 3818
|
| |
|
|
|
|
|
|
|
|
| |
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and he's right ... I forgot about this floating point stuff you can
use in user-land :-)
Increase precision of duration to microseconds.
No heuristics to avoid overflow in calculation needed - just depend
on DBL_MAX being a bit larger than LONG_MAX.
Use double instead of `struct timeval' in dd.h so that everything
doesn't have to include <sys/time.h>.
Fixed style bugs in recent and old FreeBSD changes.
Reviewed by: phk
Submitted by: bde
|
|
|
|
| |
Some heuristics to avoid overflow in calculation attempted.
|
| |
|
|
|
|
| |
treat 0xFF as valid character.
|
| |
|
| |
|
|
|