Added long options.
authorFrancois Fleuret <francois@fleuret.org>
Tue, 16 Mar 2010 18:49:31 +0000 (19:49 +0100)
committerFrancois Fleuret <francois@fleuret.org>
Tue, 16 Mar 2010 18:49:31 +0000 (19:49 +0100)
finddup.1
finddup.c

index 12e7a32..691e910 100644 (file)
--- a/finddup.1
+++ b/finddup.1
@@ -29,35 +29,35 @@ the \fB-g\fP to switch it off.
 
 Note that
 .B finddup DIR
-is the same as
+is virtually the same as
 .B finddup -i DIR DIR
 
 .SH "OPTIONS"
 .TP
-\fB-h\fR
+\fB-h\fR, \fB--help\fR
 display help and exit
 .TP
-\fB-d\fR
+\fB-d\fR, \fB--ignore-dots\fR
 ignore files and directories starting with a dot
 .TP
-\fB-0\fR
+\fB-0\fR, \fB--ignore-empty\fR
 ignore empty files
 .TP
-\fB-c\fR
+\fB-c\fR, \fB--hide-matchings\fR
 do not show which files from DIR2 corresponds to files from DIR1
 (hence, show only the files from DIR1 which have an identical twin in
 DIR2)
 .TP
-\fB-g\fR
+\fB-g\fR, \fB--no-group-ids\fR
 do not show the file group IDs
 .TP
-\fB-p\fR
+\fB-p\fR, \fB--show-progress\fR
 show progress information in stderr
 .TP
-\fB-r\fR
+\fB-r\fR, \fB--real-paths\fR
 show the real path of the files
 .TP
-\fB-i\fR
+\fB-i\fR, \fB--same-inodes-are-different\fR
 files with same inode are considered as different
 
 .SH "BUGS"
index 90c1351..9c71321 100644 (file)
--- a/finddup.c
+++ b/finddup.c
@@ -462,14 +462,22 @@ void print_help(FILE *out) {
   fprintf(out, "Version %s (%s)\n", VERSION_NUMBER, UNAME);
   fprintf(out, "Without DIR2, lists duplicated files found in DIR1. With DIR2, lists files common to both directories. With the not: prefix, lists files found in DIR1 which do not exist in DIR2. The and: prefix is the default and should be used only if you have a directory starting with 'not:'\n");
   fprintf(out, "\n");
-  fprintf(out, "   -h   show this help\n");
-  fprintf(out, "   -d   ignore dot files and directories\n");
-  fprintf(out, "   -0   ignore empty files\n");
-  fprintf(out, "   -c   do not show which files in DIR2 corresponds to those in DIR1\n");
-  fprintf(out, "   -g   do not show the file groups\n");
-  fprintf(out, "   -p   show progress\n");
-  fprintf(out, "   -r   show the real file paths\n");
-  fprintf(out, "   -i   consider files with same inode as different\n");
+  fprintf(out, "   -h, --help\n");
+  fprintf(out, "        show this help\n");
+  fprintf(out, "   -d, --ignore-dots\n");
+  fprintf(out, "        ignore dot files and directories\n");
+  fprintf(out, "   -0, --ignore-empty\n");
+  fprintf(out, "        ignore empty files\n");
+  fprintf(out, "   -c, --hide-matchings\n");
+  fprintf(out, "        do not show which files in DIR2 corresponds to those in DIR1\n");
+  fprintf(out, "   -g, --no-group-ids\n");
+  fprintf(out, "        do not show the file groups\n");
+  fprintf(out, "   -p, --show-progress\n");
+  fprintf(out, "        show progress\n");
+  fprintf(out, "   -r, --real-paths\n");
+  fprintf(out, "        show the real file paths\n");
+  fprintf(out, "   -i, --same-inodes-are-different\n");
+  fprintf(out, "        consider files with same inode as different\n");
   fprintf(out, "\n");
   fprintf(out, "Report bugs and comments to <francois@fleuret.org>\n");
 }
@@ -486,7 +494,21 @@ int main(int argc, char **argv) {
   setlocale (LC_ALL, "");
 
   while (1) {
-    c = getopt(argc, argv, "hircgd0p");
+    int option_index = 0;
+    static struct option long_options[] = {
+      { "help", no_argument, 0, 'h' },
+      { "same-inodes-are-different", no_argument, 0, 'i' },
+      { "real-paths", no_argument, 0, 'r' },
+      { "hide-matchings", no_argument, 0, 'c' },
+      { "no-group-ids", no_argument, 0, 'g' },
+      { "ignore-dots", no_argument, 0, 'd' },
+      { "ignore-empty", no_argument, 0, '0' },
+      { "show-progress", no_argument, 0, 'p' },
+      { 0, 0, 0, 0 }
+    };
+
+    c = getopt_long(argc, argv, "hircgd0p",
+                    long_options, &option_index);
     if (c == -1)
       break;