From d357f109d76dd9aa6c1569720023ed63148fd6ea Mon Sep 17 00:00:00 2001 From: Alex Rousskov Date: Thu, 18 Jun 2020 16:30:28 +0000 Subject: [PATCH] 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 --- scripts/formater.pl | 2 ++ 1 file changed, 2 insertions(+) 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; -- 2.47.2