Print this page
4732 /usr/bin/file should provide -b option for compatiblity with GNU/BSD file
Reviewed by: Andy Stormont <andyjstormont@gmail.com>
Reviewed by: Serghei Samsi <sscdvp@gmail.com>
Reviewed by: Alexander Pyhalov <alp@rsu.ru>
Reviewed by: Garrett D'Amore <garrett@damore.org>
@@ -203,10 +203,11 @@
main(int argc, char **argv)
{
char *p;
int ch;
FILE *fl;
+ int bflg = 0;
int cflg = 0;
int eflg = 0;
int fflg = 0;
char *ap = NULL;
int pathlen;
@@ -216,18 +217,22 @@
#if !defined(TEXT_DOMAIN) /* Should be defined by cc -D */
#define TEXT_DOMAIN "SYS_TEST" /* Use this only if it weren't */
#endif
(void) textdomain(TEXT_DOMAIN);
- while ((ch = getopt(argc, argv, "M:cdf:him:")) != EOF) {
+ while ((ch = getopt(argc, argv, "M:bcdf:him:")) != EOF) {
switch (ch) {
case 'M':
add_to_mlist(optarg, !dflg);
M_flg++;
break;
+ case 'b':
+ bflg++;
+ break;
+
case 'c':
cflg++;
break;
case 'd':
@@ -286,11 +291,11 @@
if (!cflg && !fflg && (eflg || optind == argc))
usage();
if (iflg && (dflg || mflg || M_flg)) {
usage();
}
- if (iflg && cflg) {
+ if ((iflg && cflg) || (cflg && bflg)) {
usage();
}
if (!dflg && !mflg && !M_flg && !iflg) {
/* no -d, -m, nor -M option; also -i option doesn't need magic */
@@ -407,10 +412,12 @@
l = strlen(p);
if (l > 0)
p[l - 1] = '\0';
} else
p = argv[optind];
+
+ if (!bflg)
prf(p); /* print "file_name:<tab>" */
if (type(p))
tret = 1;
}
@@ -1643,14 +1650,14 @@
static void
usage(void)
{
(void) fprintf(stderr, gettext(
- "usage: file [-dh] [-M mfile] [-m mfile] [-f ffile] file ...\n"
- " file [-dh] [-M mfile] [-m mfile] -f ffile\n"
- " file -i [-h] [-f ffile] file ...\n"
- " file -i [-h] -f ffile\n"
+ "usage: file [-bdh] [-M mfile] [-m mfile] [-f ffile] file ...\n"
+ " file [-bdh] [-M mfile] [-m mfile] -f ffile\n"
+ " file -i [-bh] [-f ffile] file ...\n"
+ " file -i [-bh] -f ffile\n"
" file -c [-d] [-M mfile] [-m mfile]\n"));
exit(2);
}
static uint32_t