sub warning
{
- my ($fmt, $args) = @_;
+ my ($fmt, @args) = @_;
- printf("ssic: Warning: " . $fmt, $args);
+ printf("ssic: Warning: " . $fmt, @args);
}
sub error
{
- my ($status, $fmt, $args) = @_;
+ my ($status, $fmt, @args) = @_;
- printf("ssic: Error: " . $fmt, $args);
+ printf("ssic: Error: " . $fmt, @args);
exit($status);
}
error(4, "Input and output files are equal\n");
}
- open($input_fh, "<", $input);
- open($output_fh, ">", $output);
+ if (not open($input_fh, "<", $input)) {
+ error(4, "%s: %s\n", $input, $!);
+ }
+ if (not open($output_fh, ">", $output)) {
+ error(4, "%s: %s\n", $output, $!);
+ }
+
+ %ENV = (
+ "DOCUMENT_NAME" => $input,
+ "DOCUMENT_URI" => $input,
+ );
$CGI::SSI::DEBUG = 0;
- $ssi = CGI::SSI->new();
+ $ssi = CGI::SSI->new(
+ "DOCUMENT_NAME" => $input,
+ "DOCUMENT_URI" => $input,
+ );
while (($var_name, $var_value) = each(%{$vars})) {
$ssi->set($var_name => $var_value);