tar: fix misplaced --exclude long option definition
diff --git a/archival/tar.c b/archival/tar.c
index be3df68..ca6c169 100644
--- a/archival/tar.c
+++ b/archival/tar.c
@@ -704,7 +704,6 @@
 # if ENABLE_FEATURE_TAR_FROM
 	{ "files-from",         1,  NULL,   'T' },
 	{ "exclude-from",       1,  NULL,   'X' },
-	{ "exclude",            1,  NULL,   0xfd },
 # endif
 # if ENABLE_FEATURE_TAR_GZIP
 	{ "gzip",               0,  NULL,   'z' },
@@ -712,8 +711,14 @@
 # if ENABLE_FEATURE_TAR_COMPRESS
 	{ "compress",           0,  NULL,   'Z' },
 # endif
-	{ "no-same-owner",      0,  NULL,   0xfe },
-	{ "no-same-permissions",0,  NULL,   0xff },
+	{ "no-same-owner",      0,  NULL,   0xfd },
+	{ "no-same-permissions",0,  NULL,   0xfe },
+	/* --exclude takes next bit position in option mask, */
+	/* therefore we have to either put it _after_ --no-same-perm */
+	/* or add OPT[BIT]_EXCLUDE before OPT[BIT]_NOPRESERVE_OWN */
+# if ENABLE_FEATURE_TAR_FROM
+	{ "exclude",            1,  NULL,   0xff },
+# endif
 	{ 0,                    0, 0, 0 }
 };
 #else
@@ -741,7 +746,7 @@
 		"tt:vv:" // count -t,-v
 		"?:" // bail out with usage instead of error return
 		"X::T::" // cumulative lists
-		"\xfd::" // cumulative lists for --exclude
+		"\xff::" // cumulative lists for --exclude
 		USE_FEATURE_TAR_CREATE("c:") "t:x:" // at least one of these is reqd
 		USE_FEATURE_TAR_CREATE("c--tx:t--cx:x--ct") // mutually exclusive
 		SKIP_FEATURE_TAR_CREATE("t--x:x--t"); // mutually exclusive