From: Francois Fleuret Date: Sat, 13 Mar 2010 11:06:21 +0000 (+0100) Subject: Catch the realpath errors. X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=finddup.git;a=commitdiff_plain;h=5075f86b7871fc3bf9bb8304598d648ae0fe653e Catch the realpath errors. --- diff --git a/finddup.c b/finddup.c index 098a623..7d5b058 100644 --- a/finddup.c +++ b/finddup.c @@ -254,12 +254,17 @@ struct file_with_size *scan_directory(struct file_with_size *tail, void print_file(struct file_with_size *node) { char tmp[PATH_MAX + 1]; if(show_realpaths) { - if(show_groups) { - realpath(node->filename, tmp); - printf("%d %s\n", node->group_id, tmp); + if(realpath(node->filename, tmp)) { + if(show_groups) { + printf("%d %s\n", node->group_id, tmp); + } else { + printf("%s\n", tmp); + } } else { - realpath(node->filename, tmp); - printf("%s\n", tmp); + printf("Can not get the realpath of \"%s\": %s\n", + node->filename, + strerror(errno)); + exit(EXIT_FAILURE); } } else { if(show_groups) {