cvs commit: modperl-2.0/xs/Apache/Log Apache__Log.h

2002-03-25 Thread dougm

dougm   02/03/25 19:37:47

  Modified:xs/Apache/Log Apache__Log.h
  Log:
  workaround win32/5.6.1 bug which crashes when using PL_sv_no with do_join
  
  Revision  ChangesPath
  1.9   +24 -6 modperl-2.0/xs/Apache/Log/Apache__Log.h
  
  Index: Apache__Log.h
  ===
  RCS file: /home/cvs/modperl-2.0/xs/Apache/Log/Apache__Log.h,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- Apache__Log.h 4 May 2001 06:31:37 -   1.8
  +++ Apache__Log.h 26 Mar 2002 03:37:47 -  1.9
  @@ -102,6 +102,27 @@
   #define mpxs_Apache__Server_log(sv) \
   mpxs_Apache__Log_log(aTHX_ sv, MP_LOG_SERVER)
   
  +static MP_INLINE SV *modperl_perl_do_join(pTHX_ SV **mark, SV **sp)
  +{
  +SV *sv = newSV(0);
  +SV *delim;
  +#ifdef WIN32
  +/* XXX: using PL_sv_no crashes on win32 with 5.6.1 */
  +delim = newSVpv("", 0);
  +#else
  +delim = SvREFCNT_inc(&PL_sv_no);
  +#endif
  +
  +do_join(sv, delim, mark, sp);
  +
  +SvREFCNT_dec(delim);
  +
  +return sv;
  +}
  +
  +#define my_do_join(m, s) \
  +   modperl_perl_do_join(aTHX_ (m), (s))
  +
   static XS(MPXS_Apache__Log_dispatch)
   {
   dXSARGS;
  @@ -115,8 +136,7 @@
   }
   
   if (items > 2) {
  -msgsv = newSV(0);
  -do_join(msgsv, &PL_sv_no, MARK+1, SP);
  +msgsv = my_do_join(MARK+1, SP);
   }
   else {
   msgsv = ST(1);
  @@ -213,8 +233,7 @@
   status = (apr_status_t)SvIV(ST(4));
   
   if (items > 6) {
  -msgsv = newSV(0);
  -do_join(msgsv, &PL_sv_no, MARK+5, SP);
  +msgsv = my_do_join(MARK+5, SP);
   }
   else {
   msgsv = ST(5);
  @@ -279,8 +298,7 @@
   }
   
   if (items > 1+i) {
  -sv = newSV(0);
  -do_join(sv, &PL_sv_no, MARK+i, SP); /* $sv = join '', @_[1..$#_] */
  +sv = my_do_join(MARK+i, SP); /* $sv = join '', @_[1..$#_] */
   errstr = SvPV(sv,n_a);
   }
   else {
  
  
  



cvs commit: modperl-2.0/lib/ModPerl WrapXS.pm

2002-03-25 Thread dougm

dougm   02/03/25 18:45:32

  Modified:lib/ModPerl WrapXS.pm
  Log:
  this BEGIN block crashes the server on win32; backing out
  
  Revision  ChangesPath
  1.41  +4 -6  modperl-2.0/lib/ModPerl/WrapXS.pm
  
  Index: WrapXS.pm
  ===
  RCS file: /home/cvs/modperl-2.0/lib/ModPerl/WrapXS.pm,v
  retrieving revision 1.40
  retrieving revision 1.41
  diff -u -r1.40 -r1.41
  --- WrapXS.pm 13 Mar 2002 17:26:50 -  1.40
  +++ WrapXS.pm 26 Mar 2002 02:45:32 -  1.41
  @@ -497,12 +497,10 @@
   
   package $module;
   
  -BEGIN {
  -$isa
  -use $loader ();
  -our \$VERSION = '0.01';
  -$loader\::load __PACKAGE__;
  -}
  +$isa
  +use $loader ();
  +our \$VERSION = '0.01';
  +$loader\::load __PACKAGE__;
   
   $code
   
  
  
  



cvs commit: modperl-2.0/xs/maps apache_types.map

2002-03-25 Thread stas

stas02/03/25 17:52:12

  Modified:xs/maps  apache_types.map
  Log:
  add the typemap for 'double' needed by xs_generate
  
  Revision  ChangesPath
  1.7   +1 -0  modperl-2.0/xs/maps/apache_types.map
  
  Index: apache_types.map
  ===
  RCS file: /home/cvs/modperl-2.0/xs/maps/apache_types.map,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- apache_types.map  10 Sep 2001 06:42:51 -  1.6
  +++ apache_types.map  26 Mar 2002 01:52:12 -  1.7
  @@ -50,6 +50,7 @@
   long int| IV
   unsigned long   | UV
   unsigned| UV
  +double  | NV
   
   char *   | PV
   const char * | PV