1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-08-03 06:51:29 +02:00
Commit Graph

112 Commits

Author SHA1 Message Date
Jim Meyering 44d59bb168 Update FSF postal mail address. 2005-05-14 07:58:31 +00:00
Jim Meyering c0c815af8d Update FSF postal mail address. 2005-05-14 06:57:06 +00:00
Paul Eggert 0d49dd9de2 Include unistd-safer.h.
(wipename): Use fd_safer on directory file descriptor.
(wipefile): Remove special case for /dev/fd/* on older hosts.
It didn't work in general, and wasn't documented.
Use fd_safer.
2005-04-11 20:10:23 +00:00
Paul Eggert 9fd2c631bf Remove all uses of signals; modern hosts have
/dev/random and don't need this gorp.
Do not include signal.h.
(env, sigill_handler, isaac_seed_machdep): Remove.  All uses removed.
2005-04-09 04:57:15 +00:00
Jim Meyering 5179365337 Remove register keyword. 2005-03-06 16:20:43 +00:00
Paul Eggert 2ec39c3ada Include gethrxtime.h.
(isaac_seed): Use gethrxtime rather than a mishmash.
2005-02-21 08:15:45 +00:00
Jim Meyering 6d003dd014 (isaac_seed) [HAVE_GETHRTIME]: #if-0 this block,
because just calling gethrtime evokes an `illegal instruction'
failure when compiled with Sun's c89 on Solaris 8 and 9.
2005-01-15 17:19:47 +00:00
Jim Meyering 6d638576d4 (isaac_seed) [HAVE_GETHRTIME]: Don't call ISAAC_SEED
twice with the same value of `t'.
Replace nested #if-#else blocks with #if-#elif-#elif chain.
2005-01-15 17:13:03 +00:00
Paul Eggert 81ca57a91d Remove unused "case 0". 2004-09-21 22:26:42 +00:00
Paul Eggert 3847c07f66 (usage): "-" is an operand, not an option. 2004-08-10 22:07:52 +00:00
Paul Eggert 1def589bea (wipename): Work even if the directory is writeable
and not readable.  Prefer write access, since this should work
better with fdatasync.
2004-08-09 23:34:49 +00:00
Paul Eggert 7ee3d54dc0 (struct Options, main): Use bool for booleans.
(isaac_seed_data, fillpattern, wipefile): Rewrite to avoid casts.
2004-08-03 19:07:51 +00:00
Paul Eggert 45e8d9f87b (UINT_MAX_32_BITS): Remove.
(word32): Remove.  All uses changed to uint32_t.
(isaac_seed_data): Remove unnecessary cast.
2004-08-02 05:26:01 +00:00
Jim Meyering 3365c5f5e3 (usage, main): Output "file system" rather than "filesystem". 2004-06-30 22:31:43 +00:00
Jim Meyering 1ce7b61d0e (main): Standardize on the diagnostics given when someone gives
too few operands ("missing operand after `xxx'") or
too many operands ("extra operand `xxx'").
Include "quote.h" and/or "error.h" if it wasn't already being included.
2004-06-21 15:03:35 +00:00
Jim Meyering 62d6b980b2 (direct_mode): Turn it on/off with directio, too. 2004-06-08 06:47:43 +00:00
Jim Meyering 16155336a0 Enable direct-mode I/O (bypassing the buffer cache), if possible.
Prompted by a suggestion from Kalle Olavi Niemitalo
in http://bugs.debian.org/207035.

(direct_mode): New function.
(do_wipefd): Turn on direct-mode I/O.
(dopass): If a file's first write fails with EINVAL,
turn off direct-mode I/O and retry the write.
2004-06-07 15:27:42 +00:00
Jim Meyering 657842c693 (dopass): Don't subtract 1 from the offset after
a write error.  Problem reported by Jon Peatfield in:
http://lists.gnu.org/archive/html/bug-coreutils/2004-06/msg00020.html
2004-06-04 17:43:55 +00:00
Jim Meyering ca3ad6589a (dosync): Ignore EBADF errors, as IRIX 6.5
fdatasync reports EBADF when syncing (unwritable) directories.
Problem reported by Albert Chin-A-Young in:
http://lists.gnu.org/archive/html/bug-coreutils/2004-05/msg00165.html
2004-05-30 08:43:35 +00:00
Jim Meyering 84b82a4aa2 Use translatable diagnostics, e.g.
change "%s: remove" to _("%s: failed to remove") and
change "%s: close"  to _("%s: failed to close").
2004-05-20 11:35:40 +00:00
Jim Meyering 40d4847f4c (names): Bring back lower-case letters, "_", and
".".  But continue to omit +, =, %, @, #, as they're either
shell metacharacters (for some shells) or are not in some
character sets, or (in the case of '%') must be a
metacharacter somewhere.
2004-05-18 15:28:27 +00:00
Jim Meyering ee47cc09f6 (incname): Decrement `len' only once per loop iteration. 2004-05-17 12:34:36 +00:00
Jim Meyering 3bb407ccf3 In shred, check for errors from fdatasync more carefully. If
fdatasync fails with errno==EINVAL, it means this implementation
does not support synchronized I/O for this file.  Do not report
this as an error, as (for example) AIX 5.2 fdatasync reports it
for raw disk devices.  Problem reported by Albert Chin in
<http://mail.gnu.org/archive/html/bug-gnu-utils/2004-05/msg00028.html>.

Check for write errors, though: the old code ignored them.
Improve error checking in a few other cases, too (e.g., close of a
directory).

Also, change several 'int' values to 'bool', so that the error
checking is a bit clearer.  Similarly, change unsigned values
to size_t where appropriate.

* src/shred.c: Include "dirname.h".
(datasync) [!HAVE_FDATASYNC]: Remove.
(dosync): New function.
(dopass): Use it.  Return 1 on write error, -1 on other error.
All callers changed.  Report write error if dosync does.
(do_wipefd, wipefd, wipename, wipefile): Return bool (true/false),
not int (0/-1).  All callers changed.  Return false if there's a
write error.
(incname): Return bool (true/false), not int (0/1).  Accept
size_t length, not unsigned.  All callers changed.  Do not
bother checking for non-digits; it can't happen.  Replace
recursion with iteration.
(wipename): Use dir_name, base_name, etc. instead of assuming
Unix file names.  Use size_t for length, not unsigned.
Report error if unlink or close fails.
(wipename, main): Use bool for booleans.

(names): Use only digits and uppercase letters, for greater
portability.
2004-05-16 19:32:30 +00:00
Jim Meyering 433aacf5c6 (do_wipefd): Use xnmalloc, rather than xmalloc. 2004-05-06 14:48:07 +00:00
Jim Meyering 31ef15a49f (sigill_handler, isaac_seed_machdep): Use void, not (obsolete) RETSIGTYPE. 2004-04-20 15:05:40 +00:00
Jim Meyering 9b10f9414f (isaac_seed_start) [AVOID_USED_UNINITIALIZED_WARNINGS]:
Initialize a buffer to avoid warnings from tools like valgrind.
2004-04-19 20:07:25 +00:00
Jim Meyering 0adee504ff Include getpagesize.h.
(dopass): Align I/O buffers to page boundaries.
2004-04-15 10:50:07 +00:00
Jim Meyering 7c7a16a2d8 (O_NOCTTY): Remove redundant decl. 2004-04-08 21:36:18 +00:00
Jim Meyering 6618936d9d (usage): Use EXIT_SUCCESS, not 0, for clarity.
(main): Don't assume EXIT_FAILURE == 1, as POSIX doesn't require it.
2004-01-21 23:39:34 +00:00
Jim Meyering cf4fdf373f Most .c files (AUTHORS): Revert the WRITTEN_BY/AUTHORS change
of 2003-09-19.  Now, AUTHORS is a comma-separated list of strings.
Update the call to parse_long_options so that `AUTHORS, NULL' are the
last parameters.

* src/true.c (main): Append NULL to version_etc argument list.
* src/sys2.h (case_GETOPT_VERSION_CHAR): Likewise.
2003-10-18 10:05:47 +00:00
Jim Meyering bafd927f03 (WRITTEN_BY): Rename from AUTHORS.
Begin each WRITTEN_BY string with `Written by ' and end it with `.'.
Mark each WRITTEN_BY string as translatable.
2003-09-18 22:19:03 +00:00
Jim Meyering 4f4e9aa8e1 Don't include headers already included by system.h:
Don't include closeout.h.
2003-07-23 07:29:54 +00:00
Jim Meyering 6bcd4b08ba (main): Call initialize_main. 2003-06-17 18:13:23 +00:00
Jim Meyering 34a6d6e2dd Before, when using shred on a device, one had to specify --exact,
or be careful to choose a size that would not be rounded up and
exceed the maximum value;  that could result in a failure of
the final write.

(do_wipefd): --exact is now the default for non-regular
files.  Suggestion from Ben Elliston.
(usage): Say it.
2003-03-08 16:57:55 +00:00
Jim Meyering 8355da5492 (long_opts): --zero does not require an argument.
Patch by Michael Stone.
2003-01-13 13:35:17 +00:00
Jim Meyering b6c0821009 Don't include xalloc.h.
It's already included via system.h.
2003-01-10 23:07:04 +00:00
Jim Meyering 3617805acb Remove declaration of xstrdup.
Instead, include "xalloc.h".
2003-01-10 08:41:28 +00:00
Jim Meyering 33ca4e1f5a [S_ISLNK, S_ISFIFO, S_ISSOCK]: Don't define.
They're already defined in sys2.h.
2003-01-04 08:58:12 +00:00
Jim Meyering a5f14f167e Remove all uses of `PARAMS'. 2002-12-15 20:54:29 +00:00
Jim Meyering f3fc3d4726 (dopass):
Use primitives from inttostr.h, not human.h, to print large numbers simply.

(OUTPUT_BLOCK_SIZE): remove.
(dopass): When printing progress, use floor for what has been done
so far (since we should be conservative there), and ceiling for
what needs to be done (since that's what other programs use).
2002-11-05 20:28:36 +00:00
Jim Meyering 1060257446 (dopass): Use a uintmax_t temporary to avoid bogus compiler warnings. 2002-09-28 16:29:25 +00:00
Jim Meyering 4006f4e672 Change exit (0)' to exit (EXIT_SUCCESS)',
`exit (1)' to `exit (EXIT_FAILURE)', and
`usage (1)' to `usage (EXIT_FAILURE)'.
2002-08-31 08:52:10 +00:00
Jim Meyering 7488703199 Change error (1, ...' to error (EXIT_FAILURE, ...'. 2002-08-30 23:04:53 +00:00
Jim Meyering d23970e52e (usage): Use the PACKAGE_BUGREPORT e-mail address, rather than hard-coding it. 2002-07-02 09:05:33 +00:00
Jim Meyering 546f26cbb3 * src/shred.c: (VERBOSE_UPDATE): Update every 5 seconds, not every 10.
(wipename): Quote file names only when necessary.
(main): Copy quoted string into malloc'd storage so it doesn't
get clobbered when using -u and --verbose.

Minor clean-up.
* src/shred.c:
Use `NULL' rather than `(time_t *) 0'.
(dopass): Use STREQ in place of strcmp.
Add parentheses around use of nested ternary operator.
2002-02-01 23:43:46 +00:00
Jim Meyering a00579f70b (VERBOSE_UPDATE): Now counts seconds, not bytes.
(dopass): If verbose, output a line every VERBOSE_UPDATE seconds,
and suppress duplicate output lines.  Output a percentage as well
as a count of bytes.

Also, fix comment/code typo regarding how many bytes have been
written; this typo was harmless before, but is no longer harmless with
the above change in effect.
2002-02-01 23:34:57 +00:00
Jim Meyering e6345ecb09 Don't include "xalloc.h", as system.h already does that via sys2.h. 2002-01-21 19:51:31 +00:00
Jim Meyering fca9e007c6 (usage): Also mention Ext3. 2002-01-12 09:12:13 +00:00
Jim Meyering 9b9c6a8565 [!HAVE_CONFIG_H]: Remove block of code that duplicated
code in lib/ for compiling this program without config.h.
2001-12-21 11:39:02 +00:00
Jim Meyering 0b6b9b5195 Add FSF copyright notice. 2001-12-19 18:10:24 +00:00