Only rename output file if it's not "-".
[ssic.git] / src / ssic.pl
index 2f3744e8a4e80310e87c135235a2e0037b559e26..81bb50dfdcdc29868805a5e6374b78d6862894a6 100755 (executable)
@@ -105,14 +105,14 @@ sub warning
 {
        my ($fmt, @args) = @_;
 
-       printf("ssic: Warning: " . $fmt, @args);
+       printf(STDERR "ssic: Warning: " . $fmt, @args);
 }
 
 sub error
 {
        my ($status, $fmt, @args) = @_;
 
-       printf("ssic: Error: " . $fmt, @args);
+       printf(STDERR "ssic: Error: " . $fmt, @args);
        exit($status);
 }
 
@@ -173,10 +173,9 @@ sub compile
        }
        if ($output ne "-") {
                close($output_fh);
-       }
-
-       if (not rename($output . "~", $output)) {
-               error(4, "%s: %s\n", $output, $!);
+               if (not rename($output . "~", $output)) {
+                       error(4, "%s: %s\n", $output, $!);
+               }
        }
 }