Commit Graph

39 Commits

Author SHA1 Message Date
apb
b7d86f5e4c In "dd progress=N", let the value of N control how often
to print a "." to stderr.  Previously, any non-zero
value behaved like "progress=1".

PR 24300

Approved by christos
2006-01-09 10:17:05 +00:00
rillig
57fc49ddbc Fixed an off-by-one error with ASCII <-> EBCDIC conversion combined with
lcase/ucase. Approved by mrg.
2005-04-20 17:38:59 +00:00
dbj
f01a4aa26e minor nit, set out.dbp correctly when constructing final null block
for sparse files.
2004-01-17 21:00:16 +00:00
dbj
6b4933739d add support for conv=sparse
inspired by freebsd, although this patch attempts
to avoid some potential bugs in their implementation.
2004-01-17 20:48:57 +00:00
dsainty
39973c5237 Optimise previous change, using fcntl(F_DUPFD) to locate a free descriptor
for us, rather than iterating until satisfied.

Suggested by David Laight.
2003-11-15 14:55:32 +00:00
dsainty
0b16f71074 Avoid corrupting the dd(1) IO streams. This would happen by accidentally
outputting to the files being manipulated by opening a file in the standard IO
descriptor space.  In particular, an output file unlucky enough to be sitting
on descriptor 2 (stderr) is certain to be corrupted.

Addresses PR bin/8521, and passes the recently committed regression test
"bin/dd".
2003-11-15 12:44:54 +00:00
jschauma
6a75fbb636 Following private discussion with kleink@ and hubertf@ and public discussion
on tech-userlevel@, back out printescaped() functionality.
kleink: ``We sell rope.''
2003-09-14 19:20:16 +00:00
jschauma
39ff49f1b4 Fix memory leak noted by Hubert Feyrer in private email.
Patch by Hubert Feyrer as well, OK by kleink.
(I'm just fixing it b/c it's my fault to begin with.)
2003-08-20 14:25:54 +00:00
agc
b5b2954259 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22249, verified by myself.
2003-08-07 09:05:01 +00:00
jschauma
458ed23412 As discusses a little while back on tech-userlevel:
If stdout is a tty, use vis(3) to print any filenames to prevent garbage
from being printed if the filename contains control- or other non-printable
characters.

While here, sprinkle some EXIT_FAILURE and NOTREACHED where appropriate.
2003-08-04 22:31:21 +00:00
enami
caa54090d6 Add comment about my rev. 1.27 change. 2002-09-04 04:21:54 +00:00
tron
4fc0806163 Ignore EINVAL returned from fsync(2) because it is the expected error code
if we try to use it on a pipe.
2002-09-03 06:17:26 +00:00
enami
cef250dab9 Detect the last nfs write error. 2002-09-01 11:33:22 +00:00
lukem
466f245289 Convert some variables that were signed ints before my update to 64 bit sizes
from uint64_t to int64_t.  Fixes [bin/15187]
2002-01-10 03:25:12 +00:00
enami
cd5b60066b a bit more cosmetic changes. 2001-11-26 00:56:33 +00:00
lukem
301fb81a16 Replace {u_,}longlong_t usage with {u,}int64_t, as the former has
"issues" and really shouldn't be used outside of the Sun XDR stuff.
Thanks again to Chuck Silvers for reminding me.
2001-11-26 00:13:23 +00:00
lukem
b6ce735c04 - Use u_longlong_t instead of u_quad_t, u_long, or int for various buffer sizes
- Add strsuftoull(), which parses a number into a u_longlong_t, with
  multiplication support, and support for 'g' (GB) and 't' (TB) suffices.
  If an error occurs, print to stderr and exit.
  Based on get_blk() from args.c and strsufto*() (in other programs)
- Add strsuftoullx(), which acts as per strsuftoull() but returns the
  error in the supplied buffer instead (if the returned buffer != "", an
  error occurred)
- Replace get_bsz() use with strsuftoull()
- Remove (now) unnecessary argument validation
- Remove unused {f,p,s,t}_stats fields in struct IO
2001-11-25 10:50:06 +00:00
lukem
6848de8fe5 fix WARNS=2 for -DNO_CONV 2001-11-25 06:57:55 +00:00
lukem
8605a1aa68 - ANSI KNF
- WARNS=2 (mainly converting some "char *" -> "const char *")
2001-11-25 06:53:48 +00:00
ross
aecbd4c404 In the words of Our Fearless Leader, I am "utterly sick" of dd(1)
lying to me about transfer rates. Do some fixed point frobbing to get
stuff like: 2486864 bytes transferred in 0.272 secs (9142882 bytes/sec)
2001-04-28 22:47:23 +00:00
kleink
b40fbcbce7 KNF nit in previous. 2000-10-25 10:57:20 +00:00
kleink
5072fc9eb4 Make sure we accept the getopt(3) 'last option' delimiter;
fixes PR standards/11229.
2000-10-16 09:22:34 +00:00
matt
54d55aa138 Fix conv=swab. Don't swab the entire input buffer every time we read
another block, just swab the block we just read.
2000-08-25 03:40:32 +00:00
christos
7c30c00a8c rename nset to infoset from jhawk. 2000-08-02 19:44:18 +00:00
christos
80dd95bb8f block siginfo during writes. 2000-08-02 16:46:16 +00:00
drochner
85cbf55d16 Since our gcc doesn't warn about NULL format strings anymore, we can
fix the incorrect err(1, "%s", "") et al.
Closes PR bin/7592 by cgd.
1999-11-09 15:06:30 +00:00
hubertf
4d486ab67d Add "progress=1" switch to show a sign of life by printing a '.' for
every block written to the output file.
1999-07-29 19:03:31 +00:00
thorpej
341bd18b4a Add some braces to make egcs happy. 1998-08-19 01:31:46 +00:00
mycroft
9dc385beb1 Delint. 1998-07-28 05:31:22 +00:00
mycroft
1381f68431 Delint. 1998-07-28 05:15:46 +00:00
gwr
cc865e4609 Fix a minor bug that made conv=sync pad partial blocks with garbage,
when it is supposd to pad with zero or space as with osync.
1998-06-29 19:49:04 +00:00
kleink
81f498a32b Need <time.h> fo time() prototype. 1998-04-01 13:55:23 +00:00
christos
4a3a58b6f2 Fix compiler warnings.
Add WARNS=1
1997-07-20 21:58:35 +00:00
jtc
dba6c61918 Re-do change to use const qualifer with conversion tables.
Fixed bug where pre-computed upper/lower case conversion tables were
used.  This won't work if user selected a different locale.
1996-02-20 19:29:01 +00:00
gwr
f8791fb073 Add -DNO_CONV to make this smaller in my ramdisk. 1995-10-08 23:01:22 +00:00
cgd
49f0ad8601 convert to new RCS id conventions. 1995-03-21 09:01:59 +00:00
mycroft
667b5ea158 Merge 4.4-Lite version. 1994-09-22 09:24:46 +00:00
mycroft
a579b792ce Add RCS identifiers. 1993-08-01 18:59:54 +00:00
glass
28bef3964d added dd(1) from ftp.uu.net:bsd-sources; torching GNU dd 1993-05-04 07:08:38 +00:00