summaryrefslogtreecommitdiff
path: root/src/shred.c
AgeCommit message (Collapse)Author
2004-08-03(struct Options, main): Use bool for booleans.Paul Eggert
(isaac_seed_data, fillpattern, wipefile): Rewrite to avoid casts.
2004-08-02(UINT_MAX_32_BITS): Remove.Paul Eggert
(word32): Remove. All uses changed to uint32_t. (isaac_seed_data): Remove unnecessary cast.
2004-06-30(usage, main): Output "file system" rather than "filesystem".Jim Meyering
2004-06-21(main): Standardize on the diagnostics given when someone givesJim Meyering
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-08(direct_mode): Turn it on/off with directio, too.Jim Meyering
2004-06-07Enable direct-mode I/O (bypassing the buffer cache), if possible.Jim Meyering
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-04(dopass): Don't subtract 1 from the offset afterJim Meyering
a write error. Problem reported by Jon Peatfield in: http://lists.gnu.org/archive/html/bug-coreutils/2004-06/msg00020.html
2004-05-30(dosync): Ignore EBADF errors, as IRIX 6.5Jim Meyering
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-20Use translatable diagnostics, e.g.Jim Meyering
change "%s: remove" to _("%s: failed to remove") and change "%s: close" to _("%s: failed to close").
2004-05-18(names): Bring back lower-case letters, "_", andJim Meyering
".". 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-17(incname): Decrement `len' only once per loop iteration.Jim Meyering
2004-05-16In shred, check for errors from fdatasync more carefully. IfJim Meyering
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-06(do_wipefd): Use xnmalloc, rather than xmalloc.Jim Meyering
2004-04-20(sigill_handler, isaac_seed_machdep): Use void, not (obsolete) RETSIGTYPE.Jim Meyering
2004-04-19(isaac_seed_start) [AVOID_USED_UNINITIALIZED_WARNINGS]:Jim Meyering
Initialize a buffer to avoid warnings from tools like valgrind.
2004-04-15Include getpagesize.h.Jim Meyering
(dopass): Align I/O buffers to page boundaries.
2004-04-08(O_NOCTTY): Remove redundant decl.Jim Meyering
2004-01-21(usage): Use EXIT_SUCCESS, not 0, for clarity.Jim Meyering
(main): Don't assume EXIT_FAILURE == 1, as POSIX doesn't require it.
2003-10-18Most .c files (AUTHORS): Revert the WRITTEN_BY/AUTHORS changeJim Meyering
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-09-18(WRITTEN_BY): Rename from AUTHORS.Jim Meyering
Begin each WRITTEN_BY string with `Written by ' and end it with `.'. Mark each WRITTEN_BY string as translatable.
2003-07-23Don't include headers already included by system.h:Jim Meyering
Don't include closeout.h.
2003-06-17(main): Call initialize_main.Jim Meyering
2003-03-08Before, when using shred on a device, one had to specify --exact,Jim Meyering
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-01-13(long_opts): --zero does not require an argument.Jim Meyering
Patch by Michael Stone.
2003-01-10Don't include xalloc.h.Jim Meyering
It's already included via system.h.
2003-01-10Remove declaration of xstrdup.Jim Meyering
Instead, include "xalloc.h".
2003-01-04[S_ISLNK, S_ISFIFO, S_ISSOCK]: Don't define.Jim Meyering
They're already defined in sys2.h.
2002-12-15Remove all uses of `PARAMS'.Jim Meyering
2002-11-05(dopass):Jim Meyering
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-09-28(dopass): Use a uintmax_t temporary to avoid bogus compiler warnings.Jim Meyering
2002-08-31Change `exit (0)' to `exit (EXIT_SUCCESS)',Jim Meyering
`exit (1)' to `exit (EXIT_FAILURE)', and `usage (1)' to `usage (EXIT_FAILURE)'.
2002-08-30Change `error (1, ...' to `error (EXIT_FAILURE, ...'.Jim Meyering
2002-07-02(usage): Use the PACKAGE_BUGREPORT e-mail address, rather than hard-coding it.Jim Meyering
2002-02-01* src/shred.c: (VERBOSE_UPDATE): Update every 5 seconds, not every 10.Jim Meyering
(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(VERBOSE_UPDATE): Now counts seconds, not bytes.Jim Meyering
(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-01-21Don't include "xalloc.h", as system.h already does that via sys2.h.Jim Meyering
2002-01-12(usage): Also mention Ext3.Jim Meyering
2001-12-21[!HAVE_CONFIG_H]: Remove block of code that duplicatedJim Meyering
code in lib/ for compiling this program without config.h.
2001-12-19Add FSF copyright notice.Jim Meyering
2001-12-19(xstrtoumax): If there is no number but thereJim Meyering
is a valid suffix, assume 1. "MB" now means decimal, "MiB" binary. Accept 'K' as well as 'k'.
2001-12-02Use new macros, HELP_OPTION_DESCRIPTION and VERSION_OPTION_DESCRIPTIONJim Meyering
instead of hard-coding --help and --version descriptions.
2001-11-26Don't include "gtod.h"Jim Meyering
(main): Don't `call' GETTIMEOFDAY_INIT.
2001-11-23(usage): Note that ``Mandatory arguments to long options are mandatoryJim Meyering
for short options too.''
2001-11-23(usage): Use `output', not `print' in description ofJim Meyering
the --version option, so this message is consistent with all the rest.
2001-11-23Split usage strings so that --help and --versionJim Meyering
descriptions are alone in their own string.
2001-11-23(usage): Split --help output into smaller pieces.Jim Meyering
Use fputs, not printf.
2001-10-21(isaac_seed_machdep): Handle SIGSEGV, too. Ick.Jim Meyering
2001-08-12Include gtod.h -- should have been part of preceding deltaJim Meyering
2001-08-12Include gtod.h.Jim Meyering
(main): `Call' GETTIMEOFDAY_INIT, just in case the code ever changes to make it necessary.
2001-05-11(usage): Warn about backups and mirrors.Jim Meyering