2007-06-13 Jim Meyering <jim@meyering.net>
+ rmdir: give better diagnostics
+ * src/rmdir.c (remove_parents): Give a more descriptive/consistent
+ diagnostic upon failure.
+ (main): Likewise.
+ Suggestion from Joey Hess.
+ * THANKS: Add Joey Hess.
+
Don't include "quotearg.h" when it is not used.
* Makefile.maint (sc_prohibit_quotearg_without_use): New rule.
* src/cp.c: Don't include "quotearg.h". It wasn't used.
Jochen Hein jochen@jochen.org
Joe Orton joe@manyfish.co.uk
Joerg Sonnenberger joerg@britannica.bec.de
+Joey Hess joeyh@debian.org
Johan Boule bohan@bohan.dyndns.org
Johan Danielsson joda@pdc.kth.se
John Bley jbb6@acpub.duke.edu
/* rmdir -- remove directories
- Copyright (C) 90, 91, 1995-2002, 2004, 2005, 2006 Free Software
+ Copyright (C) 90, 91, 1995-2002, 2004, 2005, 2006, 2007 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
#include "system.h"
#include "error.h"
-#include "quotearg.h"
+#include "quote.h"
/* The official name of this program (e.g., no `g' prefix). */
#define PROGRAM_NAME "rmdir"
/* Give a diagnostic for each attempted removal if --verbose. */
if (verbose)
- error (0, 0, _("removing directory, %s"), dir);
+ error (0, 0, _("removing directory, %s"), quote (dir));
ok = (rmdir (dir) == 0);
}
else
{
- error (0, errno, "%s", quotearg_colon (dir));
+ /* Barring race conditions, DIR is expected to be a directory. */
+ error (0, errno, _("failed to remove directory %s"),
+ quote (dir));
}
break;
}
&& errno_rmdir_non_empty (errno))
continue;
- error (0, errno, "%s", quotearg_colon (dir));
+ /* Here, the diagnostic is less precise, since we have no idea
+ whether DIR is a directory. */
+ error (0, errno, _("failed to remove %s"), quote (dir));
ok = false;
}
else if (remove_empty_parents)