It turns out that although the feature has been added to allow the various
built-in tests to be turned off, it's broken in 4.20 (I don't think it can
be made to work, and trying to use it can make file segfault).
I attach a patch against file.c from 4.20 to fix the command-line parsing.
It does two things: first, it adds "e:" to the short options string;
secondly, it changes the argument flag of the long option 'exclude' from 0
to 1 (because --exclude takes an argument).
--
http://rrt.sc3d.org/ | think tank, n. a safe container for noxious gases
--- file-4.20/src/file.c 2007-01-25 21:05:46.000000000 +0000
+++ file-4.20-rrt/src/file.c 2007-03-23 14:19:24.000000000 +0000
@@ -128,7 +128,7 @@
char *home, *usermagic;
struct stat sb;
static const char hmagic[] = "/.magic";
-#define OPTSTRING "bcCdf:F:hikLm:nNprsvz0"
+#define OPTSTRING "bcCde:f:F:hikLm:nNprsvz0"
#ifdef HAVE_GETOPT_LONG
int longindex;
static const struct option long_options[] =
@@ -138,7 +138,7 @@
{"brief", 0, 0, 'b'},
{"checking-printout", 0, 0, 'c'},
{"debug", 0, 0, 'd'},
- {"exclude", 0, 0, 'e' },
+ {"exclude", 1, 0, 'e' },
{"files-from", 1, 0, 'f'},
{"separator", 1, 0, 'F'},
{"mime", 0, 0, 'i'},