Author: stas
Date: Fri Jul  8 12:19:31 2005
New Revision: 209866

URL: http://svn.apache.org/viewcvs?rev=209866&view=rev
Log:
merging from trunk from r209127 to r209863


Modified:
    perl/modperl/branches/clone-skip-unstable/src/modules/perl/mod_perl.c
    perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_cmd.c
    
perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_common_util.c
    perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_interp.h
    perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_io.c
    perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_mgv.c
    perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_util.c
    perl/modperl/branches/clone-skip-unstable/xs/APR/Socket/APR__Socket.h
    perl/modperl/branches/clone-skip-unstable/xs/ModPerl/Util/ModPerl__Util.h

Modified: perl/modperl/branches/clone-skip-unstable/src/modules/perl/mod_perl.c
URL: 
http://svn.apache.org/viewcvs/perl/modperl/branches/clone-skip-unstable/src/modules/perl/mod_perl.c?rev=209866&r1=209865&r2=209866&view=diff
==============================================================================
--- perl/modperl/branches/clone-skip-unstable/src/modules/perl/mod_perl.c 
(original)
+++ perl/modperl/branches/clone-skip-unstable/src/modules/perl/mod_perl.c Fri 
Jul  8 12:19:31 2005
@@ -532,6 +532,9 @@
     modperl_global_init_server_rec(pconf, s);
 
     modperl_tls_create_request_rec(pconf);
+
+    /* init the counter to 0 */
+    modperl_global_anon_cnt_init(pconf);
 }
 
 /*
@@ -692,9 +695,17 @@
     }
 #endif
 
+#if PERL_REVISION == 5 && PERL_VERSION < 9
+#define MP_PERL_VERSION_STAMP "Perl/v%vd"
+#else
+#define MP_PERL_VERSION_STAMP "Perl/%" SVf
+#endif
+    
     ap_add_version_component(pconf, MP_VERSION_STRING);
     ap_add_version_component(pconf,
-                             Perl_form(aTHX_ "Perl/v%vd", PL_patchlevel));
+                             Perl_form(aTHX_ MP_PERL_VERSION_STAMP,
+                                       PL_patchlevel));
+
     modperl_mgv_hash_handlers(pconf, s);
     modperl_modglobal_hash_keys(aTHX);
     modperl_env_hash_keys(aTHX);

Modified: 
perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_cmd.c
URL: 
http://svn.apache.org/viewcvs/perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_cmd.c?rev=209866&r1=209865&r2=209866&view=diff
==============================================================================
--- perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_cmd.c 
(original)
+++ perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_cmd.c 
Fri Jul  8 12:19:31 2005
@@ -554,6 +554,9 @@
         GV *gv = gv_fetchpv("0", TRUE, SVt_PV);
         ENTER;SAVETMPS;
         save_scalar(gv); /* local $0 */
+#if PERL_REVISION == 5 && PERL_VERSION >= 9
+        TAINT_NOT; /* XXX: temp workaround, see my p5p post */
+#endif
         sv_setpv_mg(GvSV(gv), directive->filename);
         eval_sv(code, G_SCALAR|G_KEEPERR);
         SvREFCNT_dec(code);

Modified: 
perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_common_util.c
URL: 
http://svn.apache.org/viewcvs/perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_common_util.c?rev=209866&r1=209865&r2=209866&view=diff
==============================================================================
--- 
perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_common_util.c
 (original)
+++ 
perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_common_util.c
 Fri Jul  8 12:19:31 2005
@@ -95,7 +95,7 @@
                     return mg->mg_obj;
                 }
                 else {
-                    Perl_warn(aTHX_ "Not a tied hash: (magic=%c)", mg);
+                    Perl_warn(aTHX_ "Not a tied hash: (magic=%c)", 
mg->mg_type);
                 }
             }
             else {

Modified: 
perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_interp.h
URL: 
http://svn.apache.org/viewcvs/perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_interp.h?rev=209866&r1=209865&r2=209866&view=diff
==============================================================================
--- perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_interp.h 
(original)
+++ perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_interp.h 
Fri Jul  8 12:19:31 2005
@@ -27,12 +27,28 @@
  * HvPMROOT will never be used by Perl with PL_modglobal.
  * so we have stolen it as a quick way to stash the interp
  * pointer.
+ *
+ * However in 5.9.3 HvPMROOT was completely removed, so we have moved
+ * to use another struct member that's hopefully won't be used by
+ * anybody else. But if we can find a better place to store the
+ * pointer to the current mod_perl interpreter object it'd be a much
+ * cleaner solution. of course it must be really fast.
  */
+#ifndef HvPMROOT
+#define MP_THX_INTERP_GET(thx)                                  \
+    (modperl_interp_t *) ((XPVMG*)SvANY(*Perl_Imodglobal_ptr(thx)))->xmg_magic
+#else
 #define MP_THX_INTERP_GET(thx) \
     (modperl_interp_t *)HvPMROOT(*Perl_Imodglobal_ptr(thx))
+#endif
 
-#define MP_THX_INTERP_SET(thx, interp) \
+#ifndef HvPMROOT
+#define MP_THX_INTERP_SET(thx, interp)                          \
+    ((XPVMG*)SvANY(*Perl_Imodglobal_ptr(thx)))->xmg_magic = (MAGIC*)interp
+#else
+#define MP_THX_INTERP_SET(thx, interp)                          \
     HvPMROOT(*Perl_Imodglobal_ptr(thx)) = (PMOP*)interp
+#endif
 
 const char *modperl_interp_scope_desc(modperl_interp_scope_e scope);
 

Modified: 
perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_io.c
URL: 
http://svn.apache.org/viewcvs/perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_io.c?rev=209866&r1=209865&r2=209866&view=diff
==============================================================================
--- perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_io.c 
(original)
+++ perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_io.c Fri 
Jul  8 12:19:31 2005
@@ -124,7 +124,7 @@
         status = Perl_do_open(aTHX_ handle_save, "<&STDIN", 7, FALSE,
                               O_RDONLY, 0, Nullfp);
         if (status == 0) {
-            Perl_croak(aTHX_ "Failed to dup STDIN: %_", get_sv("!", TRUE));
+            Perl_croak(aTHX_ "Failed to dup STDIN: %" SVf, get_sv("!", TRUE));
         }
 
         /* similar to PerlIO::scalar, the PerlIO::Apache layer doesn't
@@ -137,7 +137,7 @@
     status = Perl_do_open9(aTHX_ handle, "<:Apache2", 9, FALSE, O_RDONLY,
                            0, Nullfp, sv, 1);
     if (status == 0) {
-        Perl_croak(aTHX_ "Failed to open STDIN: %_", get_sv("!", TRUE));
+        Perl_croak(aTHX_ "Failed to open STDIN: %" SVf, get_sv("!", TRUE));
     }
 
     MP_TRACE_o(MP_FUNC, "end\n");
@@ -167,7 +167,7 @@
         status = Perl_do_open(aTHX_ handle_save, ">&STDOUT", 8, FALSE,
                               O_WRONLY, 0, Nullfp);
         if (status == 0) {
-            Perl_croak(aTHX_ "Failed to dup STDOUT: %_", get_sv("!", TRUE));
+            Perl_croak(aTHX_ "Failed to dup STDOUT: %" SVf, get_sv("!", TRUE));
         }
 
         /* similar to PerlIO::scalar, the PerlIO::Apache layer doesn't
@@ -180,7 +180,7 @@
     status = Perl_do_open9(aTHX_ handle, ">:Apache2", 9, FALSE, O_WRONLY,
                            0, Nullfp, sv, 1);
     if (status == 0) {
-        Perl_croak(aTHX_ "Failed to open STDOUT: %_", get_sv("!", TRUE));
+        Perl_croak(aTHX_ "Failed to open STDOUT: %" SVf, get_sv("!", TRUE));
     }
 
     MP_TRACE_o(MP_FUNC, "end\n");
@@ -221,7 +221,7 @@
                         GvNAME(handle), GvNAMELEN(handle), G_DISCARD);
 
         if (err != Nullsv) {
-            Perl_croak(aTHX_ "Failed to restore STDIN: %_", err);
+            Perl_croak(aTHX_ "Failed to restore STDIN: %" SVf, err);
         }
     }
 
@@ -243,7 +243,7 @@
      */
     if (GvIOn(handle_orig) && IoOFP(GvIOn(handle_orig)) &&
         (PerlIO_flush(IoOFP(GvIOn(handle_orig))) == -1)) {
-        Perl_croak(aTHX_ "Failed to flush STDOUT: %_", get_sv("!", TRUE));
+        Perl_croak(aTHX_ "Failed to flush STDOUT: %" SVf, get_sv("!", TRUE));
     }
 
     /* close the overriding filehandle */
@@ -268,7 +268,7 @@
                         GvNAME(handle), GvNAMELEN(handle), G_DISCARD);
 
         if (err != Nullsv) {
-            Perl_croak(aTHX_ "Failed to restore STDOUT: %_", err);
+            Perl_croak(aTHX_ "Failed to restore STDOUT: %" SVf, err);
         }
     }
 

Modified: 
perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_mgv.c
URL: 
http://svn.apache.org/viewcvs/perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_mgv.c?rev=209866&r1=209865&r2=209866&view=diff
==============================================================================
--- perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_mgv.c 
(original)
+++ perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_mgv.c 
Fri Jul  8 12:19:31 2005
@@ -320,8 +320,17 @@
             MpHandlerMETHOD_On(handler);
         }
 
+        if (!stash) {
+            return 0;
+        }
+        
+        
         if (MpHandlerMETHOD(handler) && !handler->mgv_obj) {
-            modperl_mgv_new_name(handler->mgv_obj, p, HvNAME(stash));
+            char *name = HvNAME(stash);
+            if (!name) {
+                name = "";
+            }
+            modperl_mgv_new_name(handler->mgv_obj, p, name);
         }
 
         handler->attrs = (U32)MP_CODE_ATTRS(cv);

Modified: 
perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_util.c
URL: 
http://svn.apache.org/viewcvs/perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_util.c?rev=209866&r1=209865&r2=209866&view=diff
==============================================================================
--- perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_util.c 
(original)
+++ perl/modperl/branches/clone-skip-unstable/src/modules/perl/modperl_util.c 
Fri Jul  8 12:19:31 2005
@@ -136,7 +136,7 @@
             break;
           default:
             Perl_croak(aTHX_ "panic: unsupported request_rec type %d",
-                       SvTYPE(rv));
+                       (int)SvTYPE(rv));
         }
     }
 
@@ -408,7 +408,7 @@
     register HE *entry;
 
     xhv = (XPVHV *)SvANY(hv);
-    if (!xhv->xhv_array) {
+    if (!HvARRAY(hv)) {
         return 0;
     }
 
@@ -422,7 +422,7 @@
        PERL_HASH(hash, key, klen);
     }
 
-    entry = ((HE**)xhv->xhv_array)[hash & (I32)xhv->xhv_max];
+    entry = ((HE**)HvARRAY(hv))[hash & (I32)xhv->xhv_max];
 
     for (; entry; entry = HeNEXT(entry)) {
         if (HeHASH(entry) != hash) {
@@ -633,7 +633,7 @@
     if (r->finfo.size != size) {
         SvREFCNT_dec(sv); 
         Perl_croak(aTHX_ "Error: read %d bytes, expected %d ('%s')",
-                   size, r->finfo.size, r->filename);
+                   size, (apr_size_t)r->finfo.size, r->filename);
     }
 
     rc = apr_file_close(file);

Modified: perl/modperl/branches/clone-skip-unstable/xs/APR/Socket/APR__Socket.h
URL: 
http://svn.apache.org/viewcvs/perl/modperl/branches/clone-skip-unstable/xs/APR/Socket/APR__Socket.h?rev=209866&r1=209865&r2=209866&view=diff
==============================================================================
--- perl/modperl/branches/clone-skip-unstable/xs/APR/Socket/APR__Socket.h 
(original)
+++ perl/modperl/branches/clone-skip-unstable/xs/APR/Socket/APR__Socket.h Fri 
Jul  8 12:19:31 2005
@@ -43,7 +43,7 @@
         if (buf_len < SvIV(sv_len)) {
             Perl_croak(aTHX_ "the 3rd arg (%d) is bigger than the "
                        "length (%d) of the 2nd argument",
-                       SvIV(sv_len), buf_len);
+                       (int)SvIV(sv_len), buf_len);
         }
         buf_len = SvIV(sv_len);
     }

Modified: 
perl/modperl/branches/clone-skip-unstable/xs/ModPerl/Util/ModPerl__Util.h
URL: 
http://svn.apache.org/viewcvs/perl/modperl/branches/clone-skip-unstable/xs/ModPerl/Util/ModPerl__Util.h?rev=209866&r1=209865&r2=209866&view=diff
==============================================================================
--- perl/modperl/branches/clone-skip-unstable/xs/ModPerl/Util/ModPerl__Util.h 
(original)
+++ perl/modperl/branches/clone-skip-unstable/xs/ModPerl/Util/ModPerl__Util.h 
Fri Jul  8 12:19:31 2005
@@ -18,7 +18,7 @@
     Perl_newSVpvf(aTHX_ "0x%lx", (unsigned long)aTHX)
 #else
 #define mpxs_ModPerl__Util_current_perl_id() \
-    Perl_newSVpvf(aTHX_ "0x%lx", 0)
+    Perl_newSVpvf(aTHX_ "0x%lx", (unsigned long)0)
 #endif
 
 static MP_INLINE void mpxs_ModPerl__Util_untaint(pTHX_ I32 items,


Reply via email to