File inn-perl-call-argv.dif of Package inn

--- ./innd/perl.c.orig	2008-07-10 14:57:22.000000000 +0000
+++ ./innd/perl.c	2008-07-10 14:57:45.000000000 +0000
@@ -246,10 +246,12 @@ PLstats(void)
     else {
         char *stats = NULL;
         char *result;
+        char *argv[1];
 
 	ENTER;
 	SAVETMPS;
-	perl_call_argv("filter_stats", G_EVAL | G_NOARGS, NULL);
+	argv[0] = NULL;
+	perl_call_argv("filter_stats", G_EVAL | G_NOARGS, argv);
 	SPAGAIN;
         result = POPp;
         if (result != NULL && *result)
--- ./lib/perl.c.orig	2008-07-10 14:54:29.000000000 +0000
+++ ./lib/perl.c	2008-07-10 14:56:52.000000000 +0000
@@ -69,9 +69,11 @@ PerlFilter(bool value)
     if (!value) {
         /* Execute an end function, if one is defined. */
         if (perl_get_cv("filter_end", false) != NULL) {
+	    char *argv[1] ;
             ENTER;
             SAVETMPS;
-            perl_call_argv("filter_end", G_EVAL | G_DISCARD | G_NOARGS, NULL);
+	    argv[0] = 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 +174,9 @@ int PERLreadfilter(char *filterfile, con
     ENTER ;
     SAVETMPS ;
     
-    argv[0] = filterfile ;
-    argv[1] = NULL ;
-    
     if (perl_get_cv("filter_before_reload", false) != NULL)    {
-        perl_call_argv("filter_before_reload",G_EVAL|G_DISCARD|G_NOARGS,NULL);
+	argv[0] = 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 @@ int PERLreadfilter(char *filterfile, con
         }
     }
 
+    argv[0] = filterfile ;
+    argv[1] = NULL ;
+    
     PerlSilence();
     perl_call_argv ("_load_", 0, argv) ;
     PerlUnSilence();
@@ -210,7 +213,8 @@ int PERLreadfilter(char *filterfile, con
     }
     
     if (perl_get_cv("filter_after_reload", false) != NULL) {
-        perl_call_argv("filter_after_reload", G_EVAL|G_DISCARD|G_NOARGS, NULL);
+	argv[0] = 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)) ;
--- ./nnrpd/perl.c.orig	2008-07-10 14:57:58.000000000 +0000
+++ ./nnrpd/perl.c	2008-07-10 14:58:32.000000000 +0000
@@ -63,6 +63,7 @@ char *HandleHeaders(char *article)
    HE            *scan;
    SV            *modswitch;
    int            OtherSize;
+   char          *argv[1];
 
    if(!PerlLoaded) {
        loadPerl();
@@ -112,7 +113,8 @@ char *HandleHeaders(char *article)
    sv_setpv(body, article);
 
    /* Call the filtering function */
-   rc = perl_call_argv("filter_post", G_EVAL|G_SCALAR, NULL);
+   argv[0] = NULL;
+   rc = perl_call_argv("filter_post", G_EVAL|G_SCALAR, argv);
 
    SPAGAIN;
 
openSUSE Build Service is sponsored by