From: Eric S. Raymond Date: Tue, 19 Oct 2010 07:44:34 +0000 (-0400) Subject: Exit with message on chdir() failure. X-Git-Tag: 2.8~8 X-Git-Url: http://thyrsus.com/gitweb/?a=commitdiff_plain;h=60ff7da33b9941038f752d35eb01f1b557023489;p=comparator.git Exit with message on chdir() failure. --- diff --git a/main.c b/main.c index 15869de..d1bb91f 100644 --- a/main.c +++ b/main.c @@ -528,7 +528,11 @@ main(int argc, char *argv[]) { if (dir) { - (void)chdir(dir); + if (chdir(dir) != 0) + { + fprintf(stderr, "comparator: cd failed!\n"); + exit(1); + } } write_scf(argv[optind], redirect(outfile)); exit(0); @@ -563,11 +567,20 @@ main(int argc, char *argv[]) if (dir) { olddir = getcwd(NULL, PATH_MAX); - (void)chdir(dir); + if (chdir(dir) != 0) + { + fprintf(stderr, "comparator: cd failed!\n"); + exit(1); + } } write_scf(source, ofp); - if (dir) - (void)chdir(olddir); + if (dir) { + if (chdir(dir) != 0) + { + fprintf(stderr, "comparator: cd failed!\n"); + exit(1); + } + } fclose(ofp); } else @@ -575,12 +588,22 @@ main(int argc, char *argv[]) if (dir) { olddir = getcwd(NULL, PATH_MAX); - (void)chdir(dir); + if (chdir(dir) != 0) + { + fprintf(stderr, "comparator: cd failed!\n"); + exit(1); + } } init_scf(source, scf, 0); scf->totallines = merge_tree(source); if (dir) - (void)chdir(olddir); + { + if (chdir(dir) != 0) + { + fprintf(stderr, "comparator: cd failed!\n"); + exit(1); + } + } } }