Age | Commit message (Collapse) | Author |
|
|
|
|
|
Use -u instead of -R for --remove, so that we can preserve
future compatibility with rm.
|
|
(do_wipefd): Use ST_BLKSIZE instead of referring to the st_blksize
member directly.
|
|
|
|
|
|
(parse_integer): Migrate most of the work into the new xstrtoumax fn.
|
|
xstrto... functions.
|
|
|
|
(LookupWord, yylex): Don't pass negative char to ctype macros.
|
|
|
|
(noinst_HEADERS): Remove xstrtoul.h.
|
|
<inttypes.h>: Include if HAVE_INTTYPES_H.
(_DECLARE_XSTRTOL): New macro.
(xstrtol, xstrtoul, xstrtoumax): Declare all three functions, so that
we need only one include file, not three.
(_STRTOL_ERROR): Do not undef, as this is no longer needed.
Reword overflow message so that it's independent of type.
|
|
New macros to specify the
underlying function, its returned type, and our function. Default to
values suitable for xstrtol.
Include <ctype.h>, since we use its macros.
(ULONG_MAX, LONG_MAX, ISBLANK): Remove: no longer needed.
(ISSPACE): New macro.
(bkm_scale, bkm_scale_by_power, __xstrtol, main): __unsigned long int
-> __strtol_t.
(__xstrtol): Depend on whether __strtol_t is an unsigned type, not on
whether STRING_TO_UNSIGNED is defined. Skip isspace chars, not
isblank chars, to match strtol. When returning
LONGINT_INVALID_SUFFIX_CHAR, store the value that we computed into
*val.
|
|
(__strtol, __strtol_t, __xstrtol): New macros.
|
|
"human.h", "xalloc.h": Include.
(attribute): Remove; no longer needed.
(xstrdup): New decl.
(STDOUT_FILENO): New macro.
(O_NOCTTY): Make sure it's always defined, even if HAVE_CONFIG_H.
The following changes have effect only if !HAVE_CONFIG_H.
<ctype.h>: New include.
(RETSIGTYPE): Remove bogus semicolon at end.
(STDOUT_FILENO, uintmax_t, human_readable, LONGEST_HUMAN_READABLE):
New macros.
(xstrtoumax): Renamed from xstrtoul, with corresponding type changes.
Handle suffixes like the real routine does.
(error): Remove bogus assignment of errno to errnum.
(xmalloc, xstrdup): New functions.
(O_NOCTTY): Define even if !HAVE_CONFIG_H.
(S_ISFIFO, S_ISSOCK): New macros, if not already defined.
(OUTPUT_BLOCK_SIZE): New macro.
(struct Options.verbose): Now a boolean, since we no longer have two
levels of verbosity.
(long_opts, usage, main): Remove -D or --device option. Invert -p or
--preserve option, and rename it to -R or --remove.
(usage): Describe G suffix.
(usage): "-" no longer conflicts with -v.
(UCHAR_MAX): Indent `#error' so that SunOS 4.1.4 cc doesn't reject it.
(ind): Portability fixes: return word32, not unsigned; multiply by
sizeof (word32) instead of shifting left by 2.
(isaac_refill, isaac_mix): Comment out size of array parameter, as
ansi2knr mishandles this.
(status_visible, status_pos, pfstatus, flushstatus): Remove, since
pfstatus isn't portable to users with varying width fonts, or
internationalized messages, and vfprintf is problematic. All callers
of pfstatus changed to use error instead; this removes incompatibility
of -v with -. All calls to flushstatus removed.
(dopass, do_wipefd): Do not translate non-English msgs with gettext.
(dopass): Cast lseek constant arguments to (off_t) for benefit
of pre-ANSI compilers; fix one lseek call whose args were interchanged.
Remove unnecessary casts to (off_t). Do not check for EIO
when determining file size; this was just my earlier wild guess.
Use human_readable to print off_t, instead of casting to unsigned long
(which doesn't work in Solaris 2.6, where off_t is longer than long).
Output human-readable sizes, instead of always using "K".
Check for offset overflow (it happened to me in SunOS 4.1.4).
(do_wipefd): Do not insist on regular files, but do check for special
files that cannot possibly be shredded.
Use xmalloc instead of malloc + check.
Do not inspect st_size for non-regular files.
Try to find the size of a non-regular file by seeking to its end.
Do not assume that a regular file of size-0 has unknown size.
Check for regular files with negative sizes,
and for overflow after rounding to next block.
Always try to truncate, even for special files, but do not report an
error if truncation fails on a special file.
(dopass, wipefile): Do not return 1 for special files; the caller
doesn't care any more.
(wipefd): Remove unnecessary (and nonportable) check for
whether the file descriptor is read-only. Remove
no-longer-needed check for `-v -'.
(incname): Return 1 for carry bit, like the documentation says.
(wipename, wipefile): Accept new argument, specifying the
quoted file name. All callers changed.
(wipename): Use xstrdup instead of strdup+error check.
(wipefile): Check for ENOTDIR when opening /dev/fd/NNN. Check for
errors in NNN more carefully. Restore errno after the check.
Check for errors when closing the file descriptor.
Use more consistent wording when unable to remove a file.
(main): Do not remove files by default.
Use xstrtoumax instead of xstrtoul uniformly, since xstrtoul won't
exist if !HAVE_CONFIG_H.
In diagnostics, quote invalid operands to -n and -s options.
Allow T, P, E, Z, and Y suffixes in -s operand.
flags.verbose is now a boolean, not a counter.
Use STDOUT_FILENO instead of 1, for clarity.
|
|
|
|
not _POSIX_PATH_MAX. Guard with #if HAVE_PATHCONF rather than
#if HAVE_UNISTD_H.
|
|
|
|
|
|
|
|
only if we might need to read to satisfy a `seek=' request.
From Matthias Urlichs.
|
|
|
|
|
|
|
|
|
|
|
|
From Andreas Schwab.
|
|
|
|
|
|
|
|
|
|
(init_header): Tweak white space in Date/Time header.
|
|
|
|
From Roland Huebner.
|
|
|
|
|
|
|
|
|
|
Declare out_ino to be of type ino_t, not `int'.
|
|
* src/sys2.h (MIN, MAX): Define here instead.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(dump_remainder): Add parameter, n_bytes, and rewrite to use it.
Update callers.
(file_lines): Rename parameter.
(tail_bytes): Remove obsolete comment.
|
|
(dump_remainder): Move this function to precede the new use in file_lines.
(tail_lines): Don't call dump_remainder here.
(file_lines): Call dump_remainder here instead.
|
|
|