From: Alex Rousskov Date: Thu, 18 Jun 2020 16:30:28 +0000 (+0000) Subject: Avoid corruption of source files when astyle cannot start (#668) X-Git-Tag: 4.15-20210522-snapshot~94 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d357f109d76dd9aa6c1569720023ed63148fd6ea;p=thirdparty%2Fsquid.git Avoid corruption of source files when astyle cannot start (#668) $ export ASTYLE=/no/such/file $ ./scripts/formater.pl src/tunnel.cc open2: exec of /no/such/file ... failed: No such file or directory # for debugging; most admins will just fix the ASTYLE value $ file src/tunnel.cc src/tunnel.cc: cannot open `src/tunnel.cc' (No such file or ...) $ export ASTYLE=/usr/bin/astyle $ ./scripts/formater.pl src/tunnel.cc Can not open input file: src/tunnel.cc.astylebak.2 $ xxd -C src/tunnel.cc 00000000: 00 Also avoids creation of new source files, as (poorly) illustrated by the single-byte src/tunnel.cc file created (after being removed) above. Also improves diagnostic when dealing with misspelled file names: $ ./scripts/formater.pl src/tunnel.ccsrc/FwdState.cc Can not open input file: src/tunnel.ccsrc/FwdState.cc.astylebak Can't open output file: src/tunnel.ccsrc/FwdState.cc --- diff --git a/scripts/formater.pl b/scripts/formater.pl index 7d6733a667..fdb0b1054a 100755 --- a/scripts/formater.pl +++ b/scripts/formater.pl @@ -58,6 +58,8 @@ while($out){ next; } + die("Cannot format a non-existent file: $out\n") unless -e $out; + my $in= "$out.astylebak"; my($new_in) = $in; my($i) = 0;