Tuomo Salo wrote:
Under mod_perl2 the return value of print seems to be the number of bytes printed. I run across a legacy app (a registry script), that frequently used the following idiom:
print(CGI::redirect("url_to_error_page")) and return if $error;
While this is obviously a stupid way to write, it seems ok since the perldoc for print says: "Prints a string or a list of strings. Returns true if successful."
Now the redirection will be performed, and an empty string is passed to print. print has been overridden by mod_perl2, and will now return the number of bytes written, that is, 0. The "and" will naturally short-circuit, and the "return" will never be reached.
ok, try this patch.
ah, please hold on with patches to change API, if you change this you will need to change a lot more (printf, puts, and probably read and may be others too).
-- __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
-- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html