X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=src%2Fssic.pl;h=285c20fa4bdc5d2e779ec0ab59e8283fbe4536ff;hb=4044ca6ad9ed9a23b873036b1225e2d424fa7031;hp=8ecc30e92104be274b2178284bcb3cb6bc9f9c45;hpb=c7dbd598e3cddc3161bc718f9ea9df6f15f8fdd6;p=ssic.git diff --git a/src/ssic.pl b/src/ssic.pl index 8ecc30e..285c20f 100644 --- a/src/ssic.pl +++ b/src/ssic.pl @@ -127,8 +127,8 @@ sub compile if ($output eq "-") { $output_fh = *STDOUT; } else { - if (not open($output_fh, ">", $output)) { - error(4, "%s: %s\n", $output, $!); + if (not open($output_fh, ">", $output . "~")) { + error(4, "%s: %s\n", $output . "~", $!); } } @@ -152,6 +152,17 @@ sub compile } print($output_fh $ssi->process(<$input_fh>)); + + if ($input ne "-") { + close($input_fh); + } + if ($output ne "-") { + close($output_fh); + } + + if (not rename($output . "~", $output)) { + error(4, "%s: %s\n", $output, $!); + } } main();