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
 
 Note that
 .B finddup DIR
-is the same as
+is virtually the same as
 .B finddup -i DIR DIR
 
 .SH "OPTIONS"
 .TP
 .B finddup -i DIR DIR
 
 .SH "OPTIONS"
 .TP
-\fB-h\fR
+\fB-h\fR, \fB--help\fR
 display help and exit
 .TP
 display help and exit
 .TP
-\fB-d\fR
+\fB-d\fR, \fB--ignore-dots\fR
 ignore files and directories starting with a dot
 .TP
 ignore files and directories starting with a dot
 .TP
-\fB-0\fR
+\fB-0\fR, \fB--ignore-empty\fR
 ignore empty files
 .TP
 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
 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
 do not show the file group IDs
 .TP
-\fB-p\fR
+\fB-p\fR, \fB--show-progress\fR
 show progress information in stderr
 .TP
 show progress information in stderr
 .TP
-\fB-r\fR
+\fB-r\fR, \fB--real-paths\fR
 show the real path of the files
 .TP
 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"
 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, "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");
 }
   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) {
   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;
 
     if (c == -1)
       break;