int show_groups = 1; /* 1 means to show the group IDs when printing
file names */
-int ignore_same_inode = 0; /* 1 means that comparison between two file
- with same inode will always be false */
+int same_inodes_are_different = 0; /* 1 means that comparison between
+ two file with same inode will
+ always be false */
int tty_width = -1; /* Positive value means what width to use to show
the progress bar */
int same_files(struct file_node *f1, struct file_node *f2,
char *buffer1, char *buffer2) {
- if(ignore_same_inode && f1->inode == f2->inode) {
+ if(same_inodes_are_different && f1->inode == f2->inode) {
return 0;
}
+
return f1->size == f2->size && same_content(f1, f2, buffer1, buffer2);
}
free(buffer2);
}
-void print_help(FILE *out) {
+void usage(FILE *out) {
fprintf(out, "Usage: finddup [OPTION]... DIR1 [[and:|not:]DIR2]\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");
switch (c) {
case 'h':
- print_help(stdout);
+ usage(stdout);
exit(EXIT_SUCCESS);
break;
break;
case 'i':
- ignore_same_inode = 1;
+ same_inodes_are_different = 1;
break;
case 'g':
use_md5 = 1;
#else
fprintf(stderr,
- "finddup has not be compiled with MD5 hashing.\n");
+ "finddup has not been compiled with MD5 hashing.\n");
+ usage(stderr);
exit(EXIT_FAILURE);
#endif
break;
default:
+ usage(stderr);
exit(EXIT_FAILURE);
}
}
if(optind + 2 == argc) {
start(argv[optind], argv[optind + 1]);
} else if(optind + 1 == argc) {
- ignore_same_inode = 1;
+ same_inodes_are_different = 1;
start(argv[optind], 0);
} else {
- print_help(stderr);
+ usage(stderr);
exit(EXIT_FAILURE);
}