INN commit: branches/2.4 (innd/perl.c lib/perl.c nnrpd/perl.c)

INN Commit Russ_Allbery at isc.org
Mon May 5 08:43:59 UTC 2008


    Date: Monday, May 5, 2008 @ 01:43:58
  Author: iulius
Revision: 7815

Perl 5.10 support for INN.
Thanks, Jakub Bogusz, for the patch.

Modified:
  branches/2.4/innd/perl.c
  branches/2.4/lib/perl.c
  branches/2.4/nnrpd/perl.c

--------------+
 innd/perl.c  |    3 ++-
 lib/perl.c   |   16 ++++++++++------
 nnrpd/perl.c |    3 ++-
 3 files changed, 14 insertions(+), 8 deletions(-)

Modified: innd/perl.c
===================================================================
--- innd/perl.c	2008-05-05 08:38:38 UTC (rev 7814)
+++ innd/perl.c	2008-05-05 08:43:58 UTC (rev 7815)
@@ -240,6 +240,7 @@
 PLstats(void)
 {
     dSP;
+    char *argv[] = { NULL };
     
     if (perl_get_cv("filter_stats", false) == NULL)
         return NULL;
@@ -249,7 +250,7 @@
 
 	ENTER;
 	SAVETMPS;
-	perl_call_argv("filter_stats", G_EVAL | G_NOARGS, NULL);
+	perl_call_argv("filter_stats", G_EVAL | G_NOARGS, argv);
 	SPAGAIN;
         result = POPp;
         if (result != NULL && *result)

Modified: lib/perl.c
===================================================================
--- lib/perl.c	2008-05-05 08:38:38 UTC (rev 7814)
+++ lib/perl.c	2008-05-05 08:43:58 UTC (rev 7815)
@@ -62,6 +62,7 @@
 PerlFilter(bool value)
 {
     dSP;
+    char *argv[] = { NULL };
 
     if (value == PerlFilterActive)
         return true;
@@ -71,7 +72,7 @@
         if (perl_get_cv("filter_end", false) != NULL) {
             ENTER;
             SAVETMPS;
-            perl_call_argv("filter_end", G_EVAL | G_DISCARD | G_NOARGS, NULL);
+            perl_call_argv("filter_end", G_EVAL | G_DISCARD | G_NOARGS, argv);
             if (SvTRUE(ERRSV)) {
                 syslog (L_ERROR, "SERVER perl function filter_end died: %s",
                         SvPV(ERRSV, PL_na));
@@ -172,11 +173,10 @@
     ENTER ;
     SAVETMPS ;
     
-    argv[0] = filterfile ;
-    argv[1] = NULL ;
-    
+    argv[0] = NULL;
+
     if (perl_get_cv("filter_before_reload", false) != NULL)    {
-        perl_call_argv("filter_before_reload",G_EVAL|G_DISCARD|G_NOARGS,NULL);
+        perl_call_argv("filter_before_reload", G_EVAL|G_DISCARD|G_NOARGS, argv);
         if (SvTRUE(ERRSV))     /* check $@ */ {
             syslog (L_ERROR,"SERVER perl function filter_before_reload died: %s",
                     SvPV(ERRSV, PL_na)) ;
@@ -185,6 +185,9 @@
         }
     }
 
+    argv[0] = filterfile ;
+    argv[1] = NULL ;
+    
     PerlSilence();
     perl_call_argv ("_load_", 0, argv) ;
     PerlUnSilence();
@@ -209,8 +212,9 @@
         PerlFilter (false) ;
     }
     
+    argv[0] = NULL;
     if (perl_get_cv("filter_after_reload", false) != NULL) {
-        perl_call_argv("filter_after_reload", G_EVAL|G_DISCARD|G_NOARGS, NULL);
+        perl_call_argv("filter_after_reload", G_EVAL|G_DISCARD|G_NOARGS, argv);
         if (SvTRUE(ERRSV))     /* check $@ */ {
             syslog (L_ERROR,"SERVER perl function filter_after_reload died: %s",
                     SvPV(ERRSV, PL_na)) ;

Modified: nnrpd/perl.c
===================================================================
--- nnrpd/perl.c	2008-05-05 08:38:38 UTC (rev 7814)
+++ nnrpd/perl.c	2008-05-05 08:43:58 UTC (rev 7815)
@@ -63,6 +63,7 @@
    HE            *scan;
    SV            *modswitch;
    int            OtherSize;
+   char *argv[] = { NULL };
 
    if(!PerlLoaded) {
        loadPerl();
@@ -112,7 +113,7 @@
    sv_setpv(body, article);
 
    /* Call the filtering function */
-   rc = perl_call_argv("filter_post", G_EVAL|G_SCALAR, NULL);
+   rc = perl_call_argv("filter_post", G_EVAL|G_SCALAR, argv);
 
    SPAGAIN;
 



More information about the inn-committers mailing list