To complete my preceding mail, please find below the diff file to ls.c: Best Regards, Vincent Boudry.
diff -c /u2/boudry/tmp/fileutils-4.0/src/ls.c.orig /u2/boudry/tmp/fileutils-4.0/src/ls.c *** /u2/boudry/tmp/fileutils-4.0/src/ls.c.orig Tue Jul 11 13:21:58 2000 --- /u2/boudry/tmp/fileutils-4.0/src/ls.c Tue Jul 11 13:21:58 2000 *************** *** 311,316 **** --- 311,320 ---- int inhibit_group; + /* Nonzero means to NOT display owner information. -O */ + + int inhibit_owner; + /* Nonzero means print the user and group id's as numbers rather than as names. -n */ *************** *** 523,528 **** --- 527,533 ---- {"indicator-style", required_argument, 0, 14}, {"dereference", no_argument, 0, 'L'}, {"literal", no_argument, 0, 'N'}, + {"no-owner", no_argument, 0, 'O'}, {"quote-name", no_argument, 0, 'Q'}, {"quoting-style", required_argument, 0, 15}, {"recursive", no_argument, 0, 'R'}, *************** *** 906,912 **** } while ((c = getopt_long (argc, argv, ! "abcdefghiklmnopqrstuvw:xABCDFGHI:LNQRST:UX1", long_options, NULL)) != -1) { switch (c) --- 911,917 ---- } while ((c = getopt_long (argc, argv, ! "abcdefghiklmnopqrstuvw:xABCDFGHI:LNOQRST:UX1", long_options, NULL)) != -1) { switch (c) *************** *** 976,984 **** numeric_ids = 1; break; ! case 'o': /* Just like -l, but don't display group info. */ format = long_format; inhibit_group = 1; break; case 'p': --- 981,990 ---- numeric_ids = 1; break; ! case 'o': /* Just like -l, but don't display group & owner info. */ format = long_format; inhibit_group = 1; + inhibit_owner = 1; break; case 'p': *************** *** 1060,1065 **** --- 1066,1075 ---- set_quoting_style (NULL, literal_quoting_style); break; + case 'O': /* inhibit display of owner info */ + inhibit_owner = 1; + break; + case 'Q': set_quoting_style (NULL, c_quoting_style); break; *************** *** 2258,2269 **** sprintf (p, "%s %3u ", modebuf, (unsigned int) f->stat.st_nlink); p += strlen (p); ! user_name = (numeric_ids ? NULL : getuser (f->stat.st_uid)); ! if (user_name) ! sprintf (p, "%-8.8s ", user_name); ! else ! sprintf (p, "%-8u ", (unsigned int) f->stat.st_uid); ! p += strlen (p); if (!inhibit_group) { --- 2268,2282 ---- sprintf (p, "%s %3u ", modebuf, (unsigned int) f->stat.st_nlink); p += strlen (p); ! if (!inhibit_owner) ! { ! user_name = (numeric_ids ? NULL : getuser (f->stat.st_uid)); ! if (user_name) ! sprintf (p, "%-8.8s ", user_name); ! else ! sprintf (p, "%-8u ", (unsigned int) f->stat.st_uid); ! p += strlen (p); ! } if (!inhibit_group) { *************** *** 2897,2903 **** -n, --numeric-uid-gid list numeric UIDs and GIDs instead of names\n\ -N, --literal print raw entry names (don't treat e.g. control\n\ characters specially)\n\ ! -o use long listing format without group info\n\ -p, --file-type append indicator (one of /=@|) to entries\n\ -q, --hide-control-chars print ? instead of non graphic characters\n\ --show-control-chars show non graphic characters as-is (default)\n\ --- 2910,2917 ---- -n, --numeric-uid-gid list numeric UIDs and GIDs instead of names\n\ -N, --literal print raw entry names (don't treat e.g. control\n\ characters specially)\n\ ! -O, --no-owner inhibit display of owner information\n\ ! -o use long listing format without group & owner info\n\ -p, --file-type append indicator (one of /=@|) to entries\n\ -q, --hide-control-chars print ? instead of non graphic characters\n\ --show-control-chars show non graphic characters as-is (default)\n\