Subject: | In makefile.pl of XML-SAX-Base, catdir should be catfile, this impacts VMS. |
Running Perl version 5.81 and 5.005_02 on VMS with verion 1.04 of XML-SAX-Base.
See patch below.
The makefile calls 'catdir' when the last argument is a filename, I imagine on most other OS the filename provided is a valid directory name (and hence this is not a problem), however on VMS a directory name cannot contain a dot/period. The fix is to use 'catfile', this expects the last argument to be a filename.
More info if you are interested, the way the code currently stands the call to catdir returns an empty string on VMS, this is a valid name and so a file with name '.' gets created, and then makefile.pl enters an infinite loop.
<output>
$ perl makefile.pl
Checking if your kit is complete...
Looks good
Checking if your kit is complete...
Looks good
Checking if your kit is complete...
Looks good
Checking if your kit is complete...
Looks good
Checking if your kit is complete...
</output>
Many Thanks,
Peter (Stig) Edwards
*** makefile.pl Mon Apr 29 17:25:29 2002
--- makefile2.pl Fri Oct 15 06:43:51 2004
***************
*** 752,758 ****
FOOTER
! open(BASE, ">" . File::Spec->catdir("lib", "XML", "SAX", "Base.pm")) || die "Cannot write Base.pm: $!";
print BASE $code;
close BASE;
}
--- 752,758 ----
FOOTER
! open(BASE, ">" . File::Spec->catfile("lib", "XML", "SAX", "Base.pm")) || die "Cannot write Base.pm: $!";
print BASE $code;
close BASE;
}
***************
*** 886,892 ****
=cut
EOT
! open(EXCEP, ">" . File::Spec->catdir("lib", "XML", "SAX", "Exception.pm")) || die "Cannot write Exception.pm: $!";
print EXCEP $code;
close EXCEP;
}
--- 886,892 ----
=cut
EOT
! open(EXCEP, ">" . File::Spec->catfile("lib", "XML", "SAX", "Exception.pm")) || die "Cannot write Exception.pm: $!";
print EXCEP $code;
close EXCEP;
}