projects
/
finddup.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
3656394
)
Cosmetics in the error messages.
author
Francois Fleuret
<francois@fleuret.org>
Sun, 27 Jun 2010 12:19:37 +0000
(14:19 +0200)
committer
Francois Fleuret
<francois@fleuret.org>
Sun, 27 Jun 2010 12:19:37 +0000
(14:19 +0200)
finddup.c
patch
|
blob
|
history
diff --git
a/finddup.c
b/finddup.c
index
cb4b8ca
..
fb8b5d2
100644
(file)
--- a/
finddup.c
+++ b/
finddup.c
@@
-81,7
+81,8
@@
int sort_by_time = 0; /* 1 means to sort files in each group according
void *safe_malloc(size_t n) {
void *p = malloc(n);
if (!p && n != 0) {
void *safe_malloc(size_t n) {
void *p = malloc(n);
if (!p && n != 0) {
- printf("Can not allocate memory: %s\n", strerror(errno));
+ fprintf(stderr,
+ "finddup: Can not allocate memory: %s\n", strerror(errno));
exit(EXIT_FAILURE);
}
return p;
exit(EXIT_FAILURE);
}
return p;
@@
-162,7
+163,7
@@
int same_content(struct file_node *f1, struct file_node *f2,
}
} else {
fprintf(stderr,
}
} else {
fprintf(stderr,
- "Different read size without error on files of same size.\n");
+ "
finddup:
Different read size without error on files of same size.\n");
exit(EXIT_FAILURE);
}
}
exit(EXIT_FAILURE);
}
}
@@
-170,14
+171,14
@@
int same_content(struct file_node *f1, struct file_node *f2,
if(fd1 < 0) {
fprintf(stderr,
if(fd1 < 0) {
fprintf(stderr,
- "Can not open \"%s\" error: %s\n",
+ "
finddup:
Can not open \"%s\" error: %s\n",
f1->name,
strerror(errno));
}
if(fd2 < 0) {
fprintf(stderr,
f1->name,
strerror(errno));
}
if(fd2 < 0) {
fprintf(stderr,
- "Can not open \"%s\" error: %s\n",
+ "
finddup:
Can not open \"%s\" error: %s\n",
f2->name,
strerror(errno));
}
f2->name,
strerror(errno));
}
@@
-197,7
+198,7
@@
int same_files(struct file_node *f1, struct file_node *f2,
/**********************************************************************/
/**********************************************************************/
-struct file_node *scan_directory(struct file_node *tail, const char *name) {
+struct file_node *scan_directory
_rec
(struct file_node *tail, const char *name) {
DIR *dir;
struct dirent *dir_e;
struct stat sb;
DIR *dir;
struct dirent *dir_e;
struct stat sb;
@@
-205,7
+206,7
@@
struct file_node *scan_directory(struct file_node *tail, const char *name) {
char subname[PATH_MAX + 1];
if(lstat(name, &sb) != 0) {
char subname[PATH_MAX + 1];
if(lstat(name, &sb) != 0) {
- fprintf(stderr, "Can not stat \"%s\": %s\n", name, strerror(errno));
+ fprintf(stderr, "
finddup:
Can not stat \"%s\": %s\n", name, strerror(errno));
exit(EXIT_FAILURE);
}
exit(EXIT_FAILURE);
}
@@
-219,7
+220,7
@@
struct file_node *scan_directory(struct file_node *tail, const char *name) {
while((dir_e = readdir(dir))) {
if(!ignore_entry(dir_e->d_name)) {
snprintf(subname, PATH_MAX, "%s/%s", name, dir_e->d_name);
while((dir_e = readdir(dir))) {
if(!ignore_entry(dir_e->d_name)) {
snprintf(subname, PATH_MAX, "%s/%s", name, dir_e->d_name);
- tail = scan_directory(tail, subname);
+ tail = scan_directory
_rec
(tail, subname);
}
}
closedir(dir);
}
}
closedir(dir);
@@
-246,6
+247,26
@@
struct file_node *scan_directory(struct file_node *tail, const char *name) {
return tail;
}
return tail;
}
+struct file_node *scan_directory(struct file_node *tail, const char *name) {
+ struct file_node *result;
+ int length;
+
+ if(show_progress) {
+ fprintf(stderr, "Scanning '%s' ... ", name);
+ }
+
+ result = scan_directory_rec(tail, name);
+ length = file_list_length(result);
+
+ if(show_progress) {
+ fprintf(stderr, "done (%d file%s).\n",
+ length, (length > 1 ? "s" : ""));
+ }
+
+
+ return result;
+}
+
void print_file(struct file_node *node) {
char tmp[PATH_MAX + 1];
if(show_realpaths) {
void print_file(struct file_node *node) {
char tmp[PATH_MAX + 1];
if(show_realpaths) {
@@
-256,9
+277,10
@@
void print_file(struct file_node *node) {
printf("%s\n", tmp);
}
} else {
printf("%s\n", tmp);
}
} else {
- printf("Can not get the realpath of \"%s\": %s\n",
- node->name,
- strerror(errno));
+ fprintf(stderr,
+ "finddup: Can not get the realpath of \"%s\": %s\n",
+ node->name,
+ strerror(errno));
exit(EXIT_FAILURE);
}
} else {
exit(EXIT_FAILURE);
}
} else {
@@
-399,26
+421,16
@@
void start(const char *dirname1, const char *dirname2) {
struct progress_state progress_state;
int not_in, found;
int nb_groups, nb_nodes;
struct progress_state progress_state;
int not_in, found;
int nb_groups, nb_nodes;
- int list1_length,
list2_length,
previous_progress;
+ int list1_length, previous_progress;
char *buffer1 = safe_malloc(sizeof(char) * READ_BUFFER_SIZE);
char *buffer2 = safe_malloc(sizeof(char) * READ_BUFFER_SIZE);
not_in = 0;
char *buffer1 = safe_malloc(sizeof(char) * READ_BUFFER_SIZE);
char *buffer2 = safe_malloc(sizeof(char) * READ_BUFFER_SIZE);
not_in = 0;
- if(show_progress) {
- fprintf(stderr, "Scanning '%s' ... ", dirname1);
- }
-
list1 = scan_directory(0, dirname1);
list1 = scan_directory(0, dirname1);
-
list1_length = file_list_length(list1);
list1_length = file_list_length(list1);
- if(show_progress) {
- fprintf(stderr, "done (%d file%s).\n",
- list1_length, (list1_length > 1 ? "s" : ""));
- }
-
if(dirname2) {
if(strncmp(dirname2, "not:", 4) == 0) {
not_in = 1;
if(dirname2) {
if(strncmp(dirname2, "not:", 4) == 0) {
not_in = 1;
@@
-428,21
+440,14
@@
void start(const char *dirname1, const char *dirname2) {
} else if(strncmp(dirname2, "and:", 4) == 0) {
dirname2 += 4;
}
} else if(strncmp(dirname2, "and:", 4) == 0) {
dirname2 += 4;
}
- if(show_progress) {
- fprintf(stderr, "Scanning '%s' ... ", dirname2);
- }
list2 = scan_directory(0, dirname2);
list2 = scan_directory(0, dirname2);
- if(show_progress) {
- list2_length = file_list_length(list2);
- fprintf(stderr, "done (%d file%s).\n",
- list2_length, (list2_length > 1 ? "s" : ""));
- }
} else {
list2 = list1;
}
if(show_progress) {
} else {
list2 = list1;
}
if(show_progress) {
- fprintf(stderr, "Now looking for identical files (this may take a while).\n");
+ fprintf(stderr,
+ "Now looking for identical files (this may take a while).\n");
}
nb_groups = 0;
}
nb_groups = 0;