*
*/
-#define VERSION_NUMBER "0.6"
+#define VERSION_NUMBER "0.7"
#define _BSD_SOURCE
(ignore_dotfiles && name[0] == '.');
}
-void print_size_sum(size_sum_t s) {
- char tmp[100];
- char *a = tmp + sizeof(tmp)/sizeof(char);
- *(--a) = '\0';
- if(s) {
- while(s) {
- *(--a) = s%10 + '0';
- s /= 10;
- }
- } else {
- *(--a) = '0';
- }
- printf(a);
-}
-
/**********************************************************************/
struct file_with_size {
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");
}
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;