summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--Makefile.maint12
-rw-r--r--src/cp.c1
3 files changed, 16 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 63a0f04e3..f48ffddb9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2007-06-13 Jim Meyering <jim@meyering.net>
+ 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.
+
* README-hacking: List Gperf as a build-requirement, too.
Reported by Steve Ward.
diff --git a/Makefile.maint b/Makefile.maint
index c4da71e93..ba5166b3d 100644
--- a/Makefile.maint
+++ b/Makefile.maint
@@ -167,6 +167,18 @@ sc_prohibit_assert_without_use:
else :; \
fi
+# Don't include quotearg.h unless you use one of its functions.
+sc_prohibit_quotearg_without_use:
+ @if $(CVS_LIST_EXCEPT) | grep '\.c$$' > /dev/null; then \
+ files=$$(grep -l '# *include "quotearg\.h"' \
+ $$($(CVS_LIST_EXCEPT) | grep '\.c$$')) && \
+ grep -LE '\<quotearg(_[^ ]+)? \(' $$files \
+ | grep . && \
+ { echo "$(ME): the above files include "quotearg.h" but don't use it" \
+ 1>&2; exit 1; } || :; \
+ else :; \
+ fi
+
sc_obsolete_symbols:
@grep -nE '\<(HAVE''_FCNTL_H|O''_NDELAY)\>' \
$$($(CVS_LIST_EXCEPT)) && \
diff --git a/src/cp.c b/src/cp.c
index 35c487b9f..3023408db 100644
--- a/src/cp.c
+++ b/src/cp.c
@@ -32,7 +32,6 @@
#include "filenamecat.h"
#include "lchmod.h"
#include "quote.h"
-#include "quotearg.h"
#include "stat-time.h"
#include "utimens.h"
#include "acl.h"