platform/upstream/coreutils.git
25 years ago(do_copy, cp_option_init, main): Use proper mode_t types and macros.
Jim Meyering [Mon, 26 Apr 1999 13:03:11 +0000 (13:03 +0000)]
(do_copy, cp_option_init, main): Use proper mode_t types and macros.
Don't assume the traditional Unix values for mode bits.

25 years ago(struct cp_options.umask_kill): Use mode_t, not unsigned int.
Jim Meyering [Mon, 26 Apr 1999 12:55:36 +0000 (12:55 +0000)]
(struct cp_options.umask_kill): Use mode_t, not unsigned int.

25 years ago(copy_reg, copy_internal): Use proper mode_t types and macros.
Jim Meyering [Mon, 26 Apr 1999 12:54:51 +0000 (12:54 +0000)]
(copy_reg, copy_internal): Use proper mode_t types and macros.
Don't assume the traditional Unix values for mode bits.

25 years ago(describe_change, change_file_mode): Use proper mode_t types and macros.
Jim Meyering [Mon, 26 Apr 1999 12:51:43 +0000 (12:51 +0000)]
(describe_change, change_file_mode): Use proper mode_t types and macros.
Don't assume the traditional Unix values for mode bits.

25 years ago(main): Use proper mode_t types and macros.
Jim Meyering [Mon, 26 Apr 1999 12:49:59 +0000 (12:49 +0000)]
(main): Use proper mode_t types and macros.
Don't assume the traditional Unix values for mode bits.

25 years ago(isodigit): Remove unused macro.
Jim Meyering [Mon, 26 Apr 1999 12:49:16 +0000 (12:49 +0000)]
(isodigit): Remove unused macro.
(mode, cp_option_init, DIR_MODE): Use proper mode_t types and macros.
Don't assume the traditional Unix values for mode bits.

25 years ago(S_ISUID, S_ISGID, S_ISVTX, S_IRWXU, S_IRWXG, S_IRWXO):
Jim Meyering [Mon, 26 Apr 1999 12:48:12 +0000 (12:48 +0000)]
(S_ISUID, S_ISGID, S_ISVTX, S_IRWXU, S_IRWXG, S_IRWXO):
Define if not defined.
(CHMOD_MODE_BITS): New macro.

25 years ago(open_maybe_create): Don't pass 0666 to open; it's not needed and isn't
Jim Meyering [Mon, 26 Apr 1999 12:47:33 +0000 (12:47 +0000)]
(open_maybe_create): Don't pass 0666 to open; it's not needed and isn't
guaranteed to be portable.

25 years agoUse proper mode_t types and macros.
Jim Meyering [Mon, 26 Apr 1999 12:20:54 +0000 (12:20 +0000)]
Use proper mode_t types and macros.
Don't assume the traditional Unix values for mode bits.

25 years agoUse proper mode_t types and macros.
Jim Meyering [Mon, 26 Apr 1999 12:20:26 +0000 (12:20 +0000)]
Use proper mode_t types and macros.
Don't assume the traditional Unix values for mode bits.

25 years agoUse proper mode_t types and macros.
Jim Meyering [Mon, 26 Apr 1999 12:19:37 +0000 (12:19 +0000)]
Use proper mode_t types and macros.
Don't assume the traditional Unix values for mode bits.

25 years ago(main): Revert last change.
Jim Meyering [Mon, 26 Apr 1999 02:19:51 +0000 (02:19 +0000)]
(main): Revert last change.
Instead, loop on `optind < argc' to protect use of argv[optind].

25 years agorevert last change
Jim Meyering [Mon, 26 Apr 1999 02:18:09 +0000 (02:18 +0000)]
revert last change

25 years ago.
Jim Meyering [Mon, 26 Apr 1999 00:40:42 +0000 (00:40 +0000)]
.

25 years ago(main): Handle the case in which seq is given no args.
Jim Meyering [Mon, 26 Apr 1999 00:39:47 +0000 (00:39 +0000)]
(main): Handle the case in which seq is given no args.

25 years ago*** empty log message ***
Jim Meyering [Sun, 25 Apr 1999 19:20:40 +0000 (19:20 +0000)]
*** empty log message ***

25 years ago<inttypes.h>: Include it here instead.
Jim Meyering [Sun, 25 Apr 1999 19:20:18 +0000 (19:20 +0000)]
<inttypes.h>: Include it here instead.
<config.h>: Include it here too.

25 years agoDon't include inttypes.h here.
Jim Meyering [Sun, 25 Apr 1999 19:18:55 +0000 (19:18 +0000)]
Don't include inttypes.h here.

25 years ago[NDEBUG]: Remove definition.
Jim Meyering [Sun, 25 Apr 1999 19:18:20 +0000 (19:18 +0000)]
[NDEBUG]: Remove definition.

25 years ago*** empty log message ***
Jim Meyering [Sun, 25 Apr 1999 12:11:52 +0000 (12:11 +0000)]
*** empty log message ***

25 years ago*** empty log message *** FILEUTILS-4_0g
Jim Meyering [Sun, 25 Apr 1999 04:38:15 +0000 (04:38 +0000)]
*** empty log message ***

25 years ago*** empty log message ***
Jim Meyering [Sat, 24 Apr 1999 21:38:27 +0000 (21:38 +0000)]
*** empty log message ***

25 years ago(print_entry): Use `#if', not `#ifdef HAVE_UT_HOST'.
Jim Meyering [Sat, 24 Apr 1999 21:29:22 +0000 (21:29 +0000)]
(print_entry): Use `#if', not `#ifdef HAVE_UT_HOST'.

25 years ago*** empty log message *** SH-UTILS-1_16g
Jim Meyering [Sat, 24 Apr 1999 13:14:25 +0000 (13:14 +0000)]
*** empty log message ***

25 years ago*** empty log message ***
Jim Meyering [Sat, 24 Apr 1999 13:14:11 +0000 (13:14 +0000)]
*** empty log message ***

25 years ago.
Jim Meyering [Sat, 24 Apr 1999 13:00:16 +0000 (13:00 +0000)]
.

25 years ago*** empty log message ***
Jim Meyering [Sat, 24 Apr 1999 12:59:26 +0000 (12:59 +0000)]
*** empty log message ***

25 years ago*** empty log message ***
Jim Meyering [Sat, 24 Apr 1999 12:58:07 +0000 (12:58 +0000)]
*** empty log message ***

25 years ago.
Jim Meyering [Sat, 24 Apr 1999 12:57:43 +0000 (12:57 +0000)]
.

25 years ago*** empty log message ***
Jim Meyering [Sat, 24 Apr 1999 12:53:50 +0000 (12:53 +0000)]
*** empty log message ***

25 years ago*** empty log message ***
Jim Meyering [Sat, 24 Apr 1999 12:53:19 +0000 (12:53 +0000)]
*** empty log message ***

25 years agoInclude new "xstrtol.h", not "xstrtoul.h".
Jim Meyering [Sat, 24 Apr 1999 12:43:39 +0000 (12:43 +0000)]
Include new "xstrtol.h", not "xstrtoul.h".

25 years agoInclude new "xstrtol.h", not "xstrtoul.h".
Jim Meyering [Sat, 24 Apr 1999 12:42:53 +0000 (12:42 +0000)]
Include new "xstrtol.h", not "xstrtoul.h".
(struct control) [repeat]: Declare as uintmax_t, not int.
(struct control) [lines_required]: Likewise.
(handle_line_error): Use human_readable to print lines_required.
(parse_repeat_count): Parse a uintmax_t.
(parse_patterns): Parse a uintmax_t.

25 years agoInclude new "xstrtol.h", not "xstrtoul.h".
Jim Meyering [Sat, 24 Apr 1999 12:33:56 +0000 (12:33 +0000)]
Include new "xstrtol.h", not "xstrtoul.h".

25 years agoInclude new "xstrtol.h", not "xstrtoul.h".
Jim Meyering [Sat, 24 Apr 1999 12:33:25 +0000 (12:33 +0000)]
Include new "xstrtol.h", not "xstrtoul.h".
Change all U_LONG_LONG to uintmax_t.
(head_lines): Move a couple dcls into an inner scope.
(string_to_integer): Rename from string_to_ull.

25 years agoimport latest
Jim Meyering [Fri, 23 Apr 1999 04:20:42 +0000 (04:20 +0000)]
import latest

25 years ago*** empty log message ***
Jim Meyering [Thu, 22 Apr 1999 15:19:11 +0000 (15:19 +0000)]
*** empty log message ***

25 years ago(word32): Don't use `#error'; it runs afoul of SunOS 4.1.4 cc.
Jim Meyering [Thu, 22 Apr 1999 14:38:50 +0000 (14:38 +0000)]
(word32): Don't use `#error'; it runs afoul of SunOS 4.1.4 cc.

25 years ago*** empty log message ***
Jim Meyering [Thu, 22 Apr 1999 14:37:17 +0000 (14:37 +0000)]
*** empty log message ***

25 years agoGuard strong_alias and weak_alias with #ifdef _LIBC.
Jim Meyering [Thu, 22 Apr 1999 14:35:59 +0000 (14:35 +0000)]
Guard strong_alias and weak_alias with #ifdef _LIBC.

25 years agoDon't bother with pot-mail anymore -- Francois needs merely the URL.
Jim Meyering [Thu, 22 Apr 1999 01:24:34 +0000 (01:24 +0000)]
Don't bother with pot-mail anymore -- Francois needs merely the URL.

25 years ago.
Jim Meyering [Wed, 21 Apr 1999 23:17:13 +0000 (23:17 +0000)]
.

25 years ago.
Jim Meyering [Wed, 21 Apr 1999 23:16:48 +0000 (23:16 +0000)]
.

25 years ago.
Jim Meyering [Wed, 21 Apr 1999 04:34:29 +0000 (04:34 +0000)]
.

25 years ago.
Jim Meyering [Wed, 21 Apr 1999 04:30:22 +0000 (04:30 +0000)]
.

25 years ago*** empty log message ***
Jim Meyering [Wed, 21 Apr 1999 04:29:00 +0000 (04:29 +0000)]
*** empty log message ***

25 years agoRemove the temporary strtoumax replacement;
Jim Meyering [Wed, 21 Apr 1999 04:28:36 +0000 (04:28 +0000)]
Remove the temporary strtoumax replacement;
we now have a true replacement in strtoumax.c.
(__strtol): Always define to strtoumax.
(<stdlib.h>): No need to include.
(PARAMS): Remove.
(my_strtoumax): Move this to strtoumax.c,
rename it to strtoumax, and simplify.

25 years agoUpdate to glibc 2.1.1 version.
Jim Meyering [Wed, 21 Apr 1999 04:27:24 +0000 (04:27 +0000)]
Update to glibc 2.1.1 version.

25 years ago.
Jim Meyering [Wed, 21 Apr 1999 04:24:39 +0000 (04:24 +0000)]
.

25 years ago*** empty log message ***
Jim Meyering [Wed, 21 Apr 1999 04:22:15 +0000 (04:22 +0000)]
*** empty log message ***

25 years ago*** empty log message ***
Jim Meyering [Wed, 21 Apr 1999 04:21:50 +0000 (04:21 +0000)]
*** empty log message ***

25 years ago(jm_CHECK_ALL_TYPES): Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
Jim Meyering [Wed, 21 Apr 1999 04:21:44 +0000 (04:21 +0000)]
(jm_CHECK_ALL_TYPES): Require jm_AC_TYPE_UNSIGNED_LONG_LONG.

25 years ago(AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
Jim Meyering [Wed, 21 Apr 1999 04:14:59 +0000 (04:14 +0000)]
(AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.

25 years ago*** empty log message ***
Jim Meyering [Wed, 21 Apr 1999 04:04:20 +0000 (04:04 +0000)]
*** empty log message ***

25 years ago(jm_AC_TYPE_UINTMAX_T): Move unsigned long
Jim Meyering [Wed, 21 Apr 1999 04:04:04 +0000 (04:04 +0000)]
(jm_AC_TYPE_UINTMAX_T): Move unsigned long
long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.

25 years ago*** empty log message ***
Jim Meyering [Wed, 21 Apr 1999 04:00:48 +0000 (04:00 +0000)]
*** empty log message ***

25 years agoRequire jm_AC_TYPE_UNSIGNED_LONG_LONG.
Jim Meyering [Wed, 21 Apr 1999 04:00:38 +0000 (04:00 +0000)]
Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
Replace xstroull if necessary.

25 years ago*** empty log message ***
Jim Meyering [Wed, 21 Apr 1999 03:58:57 +0000 (03:58 +0000)]
*** empty log message ***

25 years ago*** empty log message ***
Jim Meyering [Wed, 21 Apr 1999 03:24:54 +0000 (03:24 +0000)]
*** empty log message ***

25 years agoupdate comment
Jim Meyering [Wed, 21 Apr 1999 03:19:26 +0000 (03:19 +0000)]
update comment

25 years ago<xstrtol.h>: Include this, not xstrtoul.h.
Jim Meyering [Wed, 21 Apr 1999 03:18:23 +0000 (03:18 +0000)]
<xstrtol.h>: Include this, not xstrtoul.h.
<human.h>: Include.
Use uintmax_t in place of unsigned long.
Use human_readable to convert to strings for printing.

25 years ago.
Jim Meyering [Wed, 21 Apr 1999 02:30:43 +0000 (02:30 +0000)]
.

25 years ago.
Jim Meyering [Wed, 21 Apr 1999 02:29:50 +0000 (02:29 +0000)]
.

25 years ago.
Jim Meyering [Wed, 21 Apr 1999 02:28:20 +0000 (02:28 +0000)]
.

25 years ago*** empty log message ***
Jim Meyering [Wed, 21 Apr 1999 02:21:57 +0000 (02:21 +0000)]
*** empty log message ***

25 years agoPort to AIX and HP-UX. Support cross-compilation.
Jim Meyering [Wed, 21 Apr 1999 02:21:47 +0000 (02:21 +0000)]
Port to AIX and HP-UX.  Support cross-compilation.

25 years ago<config.h>: Include first, since it can do
Jim Meyering [Tue, 20 Apr 1999 13:26:06 +0000 (13:26 +0000)]
<config.h>: Include first, since it can do
things like #define const, and this must be done before
including any system headers.

25 years ago(my_strtoumax): Fix typo in computing
Jim Meyering [Tue, 20 Apr 1999 13:24:14 +0000 (13:24 +0000)]
(my_strtoumax): Fix typo in computing
whether overflow occurred.  Improve overflow-detection to use
only one conditional branch total, rather than 2N+1
conditional branches for an N-digit number.

25 years ago*** empty log message ***
Jim Meyering [Mon, 19 Apr 1999 14:09:07 +0000 (14:09 +0000)]
*** empty log message ***

25 years ago*** empty log message ***
Jim Meyering [Mon, 19 Apr 1999 14:06:07 +0000 (14:06 +0000)]
*** empty log message ***

25 years ago(main): Restore `+' in getopt_long string. Otherwise,
Jim Meyering [Mon, 19 Apr 1999 14:05:34 +0000 (14:05 +0000)]
(main): Restore `+' in getopt_long string.  Otherwise,
commands like `seq 10 -2 0' wouldn't work.  From Andreas Schwab.

25 years ago*** empty log message ***
Jim Meyering [Mon, 19 Apr 1999 14:03:17 +0000 (14:03 +0000)]
*** empty log message ***

25 years ago*** empty log message ***
Jim Meyering [Mon, 19 Apr 1999 05:25:52 +0000 (05:25 +0000)]
*** empty log message ***

25 years ago(b_host): Remove /pub suffix.
Jim Meyering [Mon, 19 Apr 1999 05:22:54 +0000 (05:22 +0000)]
(b_host): Remove /pub suffix.

25 years ago*** empty log message *** TEXTUTILS-1_22j
Jim Meyering [Mon, 19 Apr 1999 04:50:25 +0000 (04:50 +0000)]
*** empty log message ***

25 years ago(my-distcheck): Use AMTAR, not TAR.
Jim Meyering [Mon, 19 Apr 1999 04:50:03 +0000 (04:50 +0000)]
(my-distcheck): Use AMTAR, not TAR.

25 years ago.
Jim Meyering [Mon, 19 Apr 1999 04:45:09 +0000 (04:45 +0000)]
.

25 years ago*** empty log message ***
Jim Meyering [Mon, 19 Apr 1999 04:24:35 +0000 (04:24 +0000)]
*** empty log message ***

25 years ago.
Jim Meyering [Mon, 19 Apr 1999 04:20:57 +0000 (04:20 +0000)]
.

25 years ago*** empty log message ***
Jim Meyering [Mon, 19 Apr 1999 02:56:54 +0000 (02:56 +0000)]
*** empty log message ***

25 years ago*** empty log message ***
Jim Meyering [Mon, 19 Apr 1999 02:54:53 +0000 (02:54 +0000)]
*** empty log message ***

25 years agoRequire jm_AC_PREREQ_XSTRTOUMAX.
Jim Meyering [Mon, 19 Apr 1999 02:54:48 +0000 (02:54 +0000)]
Require jm_AC_PREREQ_XSTRTOUMAX.

25 years ago*** empty log message ***
Jim Meyering [Mon, 19 Apr 1999 02:53:36 +0000 (02:53 +0000)]
*** empty log message ***

25 years ago.
Jim Meyering [Mon, 19 Apr 1999 02:42:58 +0000 (02:42 +0000)]
.

25 years ago.
Jim Meyering [Mon, 19 Apr 1999 02:39:52 +0000 (02:39 +0000)]
.

25 years ago(tempname): Wrap after 99999 only for length-impaired file systems.
Jim Meyering [Mon, 19 Apr 1999 02:39:09 +0000 (02:39 +0000)]
(tempname): Wrap after 99999 only for length-impaired file systems.

25 years ago(main, longopts):
Jim Meyering [Mon, 19 Apr 1999 02:15:09 +0000 (02:15 +0000)]
(main, longopts):
Use -u instead of -R for --remove, so that we can preserve
future compatibility with rm.

25 years ago[!HAVE_CONFIG_H] (ST_BLKSIZE): Define to 65536.
Jim Meyering [Mon, 19 Apr 1999 02:13:01 +0000 (02:13 +0000)]
[!HAVE_CONFIG_H] (ST_BLKSIZE): Define to 65536.
(do_wipefd): Use ST_BLKSIZE instead of referring to the st_blksize
member directly.

25 years ago*** empty log message ***
Jim Meyering [Mon, 19 Apr 1999 00:20:36 +0000 (00:20 +0000)]
*** empty log message ***

25 years ago*** empty log message ***
Jim Meyering [Sun, 18 Apr 1999 23:20:24 +0000 (23:20 +0000)]
*** empty log message ***

25 years agoInclude xstrtol.h.
Jim Meyering [Sun, 18 Apr 1999 23:18:48 +0000 (23:18 +0000)]
Include xstrtol.h.
(parse_integer): Migrate most of the work into the new xstrtoumax fn.

25 years agoInclude xstrtol.h, not xstrtoul.h, since xstrtol.h now defines all the
Jim Meyering [Sun, 18 Apr 1999 23:18:32 +0000 (23:18 +0000)]
Include xstrtol.h, not xstrtoul.h, since xstrtol.h now defines all the
xstrto... functions.

25 years agoInclude xstrtol.h, not obsolete file xstrtoul.h.
Jim Meyering [Sun, 18 Apr 1999 23:18:09 +0000 (23:18 +0000)]
Include xstrtol.h, not obsolete file xstrtoul.h.

25 years ago<stdlib.h>: Include if HAVE_STDLIB_H, since bison 1.27 invokes "free".
Jim Meyering [Sun, 18 Apr 1999 23:17:30 +0000 (23:17 +0000)]
<stdlib.h>: Include if HAVE_STDLIB_H, since bison 1.27 invokes "free".
(LookupWord, yylex): Don't pass negative char to ctype macros.

25 years ago(xalloc_fail): Pass xalloc_msg_memory_exhausted through gettext.
Jim Meyering [Sun, 18 Apr 1999 23:17:05 +0000 (23:17 +0000)]
(xalloc_fail): Pass xalloc_msg_memory_exhausted through gettext.

25 years ago(libfu_a_SOURCES): Add xstrtoumax.c.
Jim Meyering [Sun, 18 Apr 1999 23:16:49 +0000 (23:16 +0000)]
(libfu_a_SOURCES): Add xstrtoumax.c.
(noinst_HEADERS): Remove xstrtoul.h.

25 years ago(__xstrtol, __strtol, __unsigned): Remove macro decls.
Jim Meyering [Sun, 18 Apr 1999 23:16:23 +0000 (23:16 +0000)]
(__xstrtol, __strtol, __unsigned): Remove macro decls.
<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.

25 years ago(__strtol, __strtol_t, __xstrtol):
Jim Meyering [Sun, 18 Apr 1999 23:15:34 +0000 (23:15 +0000)]
(__strtol, __strtol_t, __xstrtol):
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.

25 years ago(STRING_TO_UNSIGNED): Remove.
Jim Meyering [Sun, 18 Apr 1999 23:15:02 +0000 (23:15 +0000)]
(STRING_TO_UNSIGNED): Remove.
(__strtol, __strtol_t, __xstrtol): New macros.

25 years agoInclude xstrtol.h, not obsolete file xstrtoul.h.
Jim Meyering [Sun, 18 Apr 1999 23:13:57 +0000 (23:13 +0000)]
Include xstrtol.h, not obsolete file xstrtoul.h.
"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.