From 5075f86b7871fc3bf9bb8304598d648ae0fe653e Mon Sep 17 00:00:00 2001 From: Francois Fleuret Date: Sat, 13 Mar 2010 12:06:21 +0100 Subject: [PATCH] Catch the realpath errors. --- finddup.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) 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) { -- 2.20.1