stas 2004/08/15 13:06:51
Modified: src/modules/perl modperl_handler.c modperl_util.c modperl_util.h t/error syntax.t t/response/TestError syntax.pm . Changes Log: combine handler resolving failure error with the actual error, so there is only one logged entry Revision Changes Path 1.28 +3 -3 modperl-2.0/src/modules/perl/modperl_handler.c Index: modperl_handler.c =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_handler.c,v retrieving revision 1.27 retrieving revision 1.28 diff -u -u -r1.27 -r1.28 --- modperl_handler.c 2 Apr 2004 02:17:45 -0000 1.27 +++ modperl_handler.c 15 Aug 2004 20:06:51 -0000 1.28 @@ -130,9 +130,9 @@ (unsigned long)rp); if (!modperl_mgv_resolve(aTHX_ handler, rp, handler->name, FALSE)) { - ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, - "failed to resolve handler `%s'", - handler->name); + modperl_errsv_prepend(aTHX_ + "failed to resolve handler `%s': ", + handler->name); return HTTP_INTERNAL_SERVER_ERROR; } } 1.75 +16 -0 modperl-2.0/src/modules/perl/modperl_util.c Index: modperl_util.c =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_util.c,v retrieving revision 1.74 retrieving revision 1.75 diff -u -u -r1.74 -r1.75 --- modperl_util.c 16 Jul 2004 01:10:45 -0000 1.74 +++ modperl_util.c 15 Aug 2004 20:06:51 -0000 1.75 @@ -208,6 +208,22 @@ return status; } +/* prepends the passed sprintf-like arguments to ERRSV, which also + * gets stringified on the way */ +void modperl_errsv_prepend(pTHX_ const char *pat, ...) +{ + SV *sv; + va_list args; + + va_start(args, pat); + sv = vnewSVpvf(pat, &args); + va_end(args); + + sv_catsv(sv, ERRSV); + sv_copypv(ERRSV, sv); + sv_free(sv); +} + #define dl_librefs "DynaLoader::dl_librefs" #define dl_modules "DynaLoader::dl_modules" 1.65 +2 -0 modperl-2.0/src/modules/perl/modperl_util.h Index: modperl_util.h =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_util.h,v retrieving revision 1.64 retrieving revision 1.65 diff -u -u -r1.64 -r1.65 --- modperl_util.h 16 Jul 2004 01:10:45 -0000 1.64 +++ modperl_util.h 15 Aug 2004 20:06:51 -0000 1.65 @@ -47,6 +47,8 @@ int modperl_errsv(pTHX_ int status, request_rec *r, server_rec *s); +void modperl_errsv_prepend(pTHX_ const char *pat, ...); + int modperl_require_module(pTHX_ const char *pv, int logfailure); int modperl_require_file(pTHX_ const char *pv, int logfailure); 1.4 +1 -0 modperl-2.0/t/error/syntax.t Index: syntax.t =================================================================== RCS file: /home/cvs/modperl-2.0/t/error/syntax.t,v retrieving revision 1.3 retrieving revision 1.4 diff -u -u -r1.3 -r1.4 --- syntax.t 9 Jul 2004 15:36:13 -0000 1.3 +++ syntax.t 15 Aug 2004 20:06:51 -0000 1.4 @@ -10,6 +10,7 @@ my $location = "/TestError__syntax"; my $res = GET($location); #t_debug($res->content); +t_client_log_error_is_expected(); ok t_cmp( $res->code, 500, 1.4 +0 -5 modperl-2.0/t/response/TestError/syntax.pm Index: syntax.pm =================================================================== RCS file: /home/cvs/modperl-2.0/t/response/TestError/syntax.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -u -r1.3 -r1.4 --- syntax.pm 28 May 2004 01:33:54 -0000 1.3 +++ syntax.pm 15 Aug 2004 20:06:51 -0000 1.4 @@ -1,10 +1,5 @@ package TestError::syntax; -BEGIN { - use Apache::TestUtil; - t_server_log_error_is_expected(2); -} - use strict; use warnings FATAL => 'all'; 1.448 +3 -0 modperl-2.0/Changes Index: Changes =================================================================== RCS file: /home/cvs/modperl-2.0/Changes,v retrieving revision 1.447 retrieving revision 1.448 diff -u -u -r1.447 -r1.448 --- Changes 15 Aug 2004 10:08:30 -0000 1.447 +++ Changes 15 Aug 2004 20:06:51 -0000 1.448 @@ -12,6 +12,9 @@ =item 1.99_15-dev +combine handler resolving failure error with the actual error, so +there is only one logged entry [Stas] + pod manpages are now glued to all .pm files for which .pod exists [Stas]