Author: gozer
Date: Fri Mar 17 11:25:04 2006
New Revision: 386697

URL: http://svn.apache.org/viewcvs?rev=386697&view=rev
Log:
Move r->pnotes logic to modperl_util.c, so it can be reused
more easily (upcoming c->pnotes)
 

Modified:
    perl/modperl/trunk/src/modules/perl/modperl_util.c
    perl/modperl/trunk/src/modules/perl/modperl_util.h
    perl/modperl/trunk/xs/Apache2/RequestUtil/Apache2__RequestUtil.h
    perl/modperl/trunk/xs/tables/current/ModPerl/FunctionTable.pm

Modified: perl/modperl/trunk/src/modules/perl/modperl_util.c
URL: 
http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_util.c?rev=386697&r1=386696&r2=386697&view=diff
==============================================================================
--- perl/modperl/trunk/src/modules/perl/modperl_util.c (original)
+++ perl/modperl/trunk/src/modules/perl/modperl_util.c Fri Mar 17 11:25:04 2006
@@ -828,3 +828,29 @@
                           modperl_global_get_server_rec()->process->pool);
     return data ? *(int *)data : 0;
  }
+
+SV *modperl_pnotes(pTHX_ HV **pnotes, SV *key, SV *val, request_rec *r) {
+    SV *retval = Nullsv;
+
+    if (!*pnotes) {
+        *pnotes = newHV();
+    }
+
+    if (key) {
+        STRLEN len;
+        char *k = SvPV(key, len);
+
+        if (val) {
+            retval = *hv_store(*pnotes, k, len, SvREFCNT_inc(val), 0);
+        }
+        else if (hv_exists(*pnotes, k, len)) {
+            retval = *hv_fetch(*pnotes, k, len, FALSE);
+        }
+    }
+    else {
+        retval = newRV_inc((SV *)*pnotes);
+    }
+
+    return retval ? SvREFCNT_inc(retval) : &PL_sv_undef;
+}
+ 

Modified: perl/modperl/trunk/src/modules/perl/modperl_util.h
URL: 
http://svn.apache.org/viewcvs/perl/modperl/trunk/src/modules/perl/modperl_util.h?rev=386697&r1=386696&r2=386697&view=diff
==============================================================================
--- perl/modperl/trunk/src/modules/perl/modperl_util.h (original)
+++ perl/modperl/trunk/src/modules/perl/modperl_util.h Fri Mar 17 11:25:04 2006
@@ -145,4 +145,6 @@
 void modperl_restart_count_inc(server_rec *base_server);
 int  modperl_restart_count(void);
 
+SV *modperl_pnotes(pTHX_ HV **pnotes, SV *key, SV *val, request_rec *r);
+
 #endif /* MODPERL_UTIL_H */

Modified: perl/modperl/trunk/xs/Apache2/RequestUtil/Apache2__RequestUtil.h
URL: 
http://svn.apache.org/viewcvs/perl/modperl/trunk/xs/Apache2/RequestUtil/Apache2__RequestUtil.h?rev=386697&r1=386696&r2=386697&view=diff
==============================================================================
--- perl/modperl/trunk/xs/Apache2/RequestUtil/Apache2__RequestUtil.h (original)
+++ perl/modperl/trunk/xs/Apache2/RequestUtil/Apache2__RequestUtil.h Fri Mar 17 
11:25:04 2006
@@ -212,32 +212,12 @@
 SV *mpxs_Apache2__RequestRec_pnotes(pTHX_ request_rec *r, SV *key, SV *val)
 {
     MP_dRCFG;
-    SV *retval = NULL;
 
     if (!rcfg) {
         return &PL_sv_undef;
     }
-    if (!rcfg->pnotes) {
-        rcfg->pnotes = newHV();
-    }
-
-    if (key) {
-        STRLEN len;
-        char *k = SvPV(key, len);
-
-        if (val) {
-            retval = *hv_store(rcfg->pnotes, k, len,
-                               SvREFCNT_inc(val), 0);
-        }
-        else if (hv_exists(rcfg->pnotes, k, len)) {
-            retval = *hv_fetch(rcfg->pnotes, k, len, FALSE);
-        }
-    }
-    else {
-        retval = newRV_inc((SV *)rcfg->pnotes);
-    }
 
-    return retval ? SvREFCNT_inc(retval) : &PL_sv_undef;
+    return modperl_pnotes(aTHX_ &rcfg->pnotes, key, val, r);
 }
 
 #define mpxs_Apache2__RequestRec_dir_config(r, key, sv_val) \

Modified: perl/modperl/trunk/xs/tables/current/ModPerl/FunctionTable.pm
URL: 
http://svn.apache.org/viewcvs/perl/modperl/trunk/xs/tables/current/ModPerl/FunctionTable.pm?rev=386697&r1=386696&r2=386697&view=diff
==============================================================================
--- perl/modperl/trunk/xs/tables/current/ModPerl/FunctionTable.pm (original)
+++ perl/modperl/trunk/xs/tables/current/ModPerl/FunctionTable.pm Fri Mar 17 
11:25:04 2006
@@ -4413,6 +4413,32 @@
     ]
   },
   {
+    'return_type' => 'SV *',
+    'name' => 'modperl_pnotes',
+    'args' => [
+      {
+        'type' => 'PerlInterpreter *',
+        'name' => 'my_perl'
+      },
+      {
+        'type' => 'HV **',
+        'name' => 'pnotes'
+      },
+      {
+        'type' => 'SV *',
+        'name' => 'key'
+      },
+      {
+        'type' => 'SV *',
+        'name' => 'val'
+      },
+      {
+        'type' => 'request_rec *',
+        'name' => 'r'
+      }
+    ]    
+  }.
+  {
     'return_type' => 'int',
     'name' => 'modperl_post_config_handler',
     'args' => [


Reply via email to