Added long options.
[finddup.git] / finddup.c
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;