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.
random-seekable devices. This lets dd(1) know it can seek on them. It
also affects spec_vnopen() (IIRC), but only makes the path of execution smaller,
and does not change its behavior. This is when securelevel >= 2.
representation of the full month name. In the Russian locale, this alternative
will be "nominative case", useful when the date designate month as a whole.
E.g. month heading in a calendar. I hope it can be useful for some other
locales too.
Discussed with: wollman, ache
reference vfs_check_export
change license to my own, (ok'd by dfr) and remove advert clause.
remove extra Id tags and emacs cruft, this should be a fresh file.
of VPATH to be a little sexier. I'd say it looks a bit like Claudia
Schiffer now, which I consider a definate improvement. We're also a little
more subtle about saying that VPATH is for backward(s) compatibility.
Submitted-by: chris, bde, and myself
[although none of their descriptions were as sexy
M(|is|r)s Schiffer, of course].
for BSD less than 4.4 where sys/cdefs.h DNE but can be simulated with
param.h. Unfortunately, the additional include did little to actually
improve portability since we've lost portability in several other chunks
of make code (err(), sysctlbyname(), probable more).
Partly submitted by: bde