]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
fix perl swig patching to work with latest swig from debian jessie
authorBrian West <brian@freeswitch.org>
Tue, 16 Jun 2015 17:03:04 +0000 (12:03 -0500)
committerMichael Jerris <mike@jerris.com>
Wed, 17 Jun 2015 16:06:44 +0000 (11:06 -0500)
src/mod/languages/mod_perl/hack.diff
src/mod/languages/mod_perl/mod_perl_wrap.cpp

index 91aa2ddf8364ffbf77816ec5810c08647bca072d..162f36811dfcc4f363da8ebd1e83b4e5ee97532a 100644 (file)
@@ -1,36 +1,35 @@
---- mod_perl_wrap.cpp  2008-07-16 16:55:53.000000000 -0400
-+++ old.cpp    2008-07-16 16:55:38.000000000 -0400
-@@ -8852,13 +8852,18 @@
+--- mod_perl_wrap.cpp.old      2015-06-16 12:01:31.832000000 -0500
++++ mod_perl_wrap.cpp  2015-06-16 12:01:38.996000000 -0500
+@@ -8710,13 +8710,18 @@
    {
-     PERL::Session *result = 0 ;
      int argvi = 0;
-+    SV *foo;
+     PERL::Session *result = 0 ;
++      SV *foo;
      dXSARGS;
--    
-+
+     
      if ((items < 0) || (items > 0)) {
        SWIG_croak("Usage: new_Session();");
      }
 -    result = (PERL::Session *)new PERL::Session();
 -    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_PERL__Session, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
-+    result = (PERL::Session *)new PERL::Session(); 
++      result = (PERL::Session *)new PERL::Session();
 +      result->setPERL(my_perl);
 +      foo = sv_newmortal();
 +      SWIG_MakePtr(foo, SWIG_as_voidptr(result), SWIGTYPE_p_PERL__Session, SWIG_OWNER | SWIG_SHADOW);
-+      result->setME(foo);     
++      result->setME(foo);
 +      ST(argvi) = foo; argvi++ ;
      XSRETURN(argvi);
    fail:
      SWIG_croak_null();
-@@ -8877,6 +8882,7 @@
-     void *argp2 = 0 ;
+@@ -8735,6 +8740,7 @@
      int res2 = 0 ;
      int argvi = 0;
+     PERL::Session *result = 0 ;
 +      SV *foo;
      dXSARGS;
      
      if ((items < 2) || (items > 2)) {
-@@ -8893,7 +8899,16 @@
+@@ -8751,7 +8757,16 @@
      }
      arg2 = reinterpret_cast< CoreSession * >(argp2);
      result = (PERL::Session *)new PERL::Session(arg1,arg2);
      if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
      
      XSRETURN(argvi);
-@@ -8913,6 +8928,7 @@
-     char *buf1 = 0 ;
+@@ -8771,6 +8786,7 @@
      int alloc1 = 0 ;
      int argvi = 0;
+     PERL::Session *result = 0 ;
 +      SV *foo;
      dXSARGS;
      
      if ((items < 1) || (items > 1)) {
-@@ -8923,9 +8939,19 @@
+@@ -8781,9 +8797,19 @@
        SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Session" "', argument " "1"" of type '" "char *""'");
      }
      arg1 = reinterpret_cast< char * >(buf1);
      XSRETURN(argvi);
    fail:
      if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
-@@ -8941,6 +8967,7 @@
-     void *argp1 = 0 ;
+@@ -8799,6 +8825,7 @@
      int res1 = 0 ;
      int argvi = 0;
+     PERL::Session *result = 0 ;
 +    SV *foo;
      dXSARGS;
      
      if ((items < 1) || (items > 1)) {
-@@ -8952,8 +8979,18 @@
+@@ -8810,8 +8837,18 @@
      }
      arg1 = reinterpret_cast< switch_core_session_t * >(argp1);
      result = (PERL::Session *)new PERL::Session(arg1);
index e7d790e9d995b655b745d820497301892456632e..0537a66e4bd691e2e4c29aa9db4b26f0c1896852 100644 (file)
@@ -8576,7 +8576,6 @@ XS(_wrap_bridge) {
     void *argp2 = 0 ;
     int res2 = 0 ;
     int argvi = 0;
-       SV *foo;
     dXSARGS;
     
     if ((items < 2) || (items > 2)) {
@@ -8711,13 +8710,18 @@ XS(_wrap_new_Session__SWIG_0) {
   {
     int argvi = 0;
     PERL::Session *result = 0 ;
+       SV *foo;
     dXSARGS;
     
     if ((items < 0) || (items > 0)) {
       SWIG_croak("Usage: new_Session();");
     }
-    result = (PERL::Session *)new PERL::Session();
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_PERL__Session, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
+       result = (PERL::Session *)new PERL::Session();
+       result->setPERL(my_perl);
+       foo = sv_newmortal();
+       SWIG_MakePtr(foo, SWIG_as_voidptr(result), SWIGTYPE_p_PERL__Session, SWIG_OWNER | SWIG_SHADOW);
+       result->setME(foo);
+       ST(argvi) = foo; argvi++ ;
     XSRETURN(argvi);
   fail:
     SWIG_croak_null();
@@ -8736,6 +8740,7 @@ XS(_wrap_new_Session__SWIG_1) {
     int res2 = 0 ;
     int argvi = 0;
     PERL::Session *result = 0 ;
+       SV *foo;
     dXSARGS;
     
     if ((items < 2) || (items > 2)) {
@@ -8781,6 +8786,7 @@ XS(_wrap_new_Session__SWIG_2) {
     int alloc1 = 0 ;
     int argvi = 0;
     PERL::Session *result = 0 ;
+       SV *foo;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
@@ -8791,9 +8797,19 @@ XS(_wrap_new_Session__SWIG_2) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Session" "', argument " "1"" of type '" "char *""'");
     }
     arg1 = reinterpret_cast< char * >(buf1);
-    result = (PERL::Session *)new PERL::Session(arg1);
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_PERL__Session, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
+    result = (PERL::Session *)new PERL::Session(arg1); 
+       if (result->allocated) {
+               result->setPERL(my_perl);
+               foo = get_sv(result->suuid, TRUE);
+               SWIG_MakePtr(foo, SWIG_as_voidptr(result), SWIGTYPE_p_PERL__Session, SWIG_OWNER | SWIG_SHADOW);
+               result->setME(foo);     
+       } else {
+               foo = sv_newmortal();
+               SWIG_MakePtr(foo, SWIG_as_voidptr(result), SWIGTYPE_p_PERL__Session, SWIG_OWNER | SWIG_SHADOW);
+       }
+       ST(argvi) = foo; argvi++ ;
     if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
+
     XSRETURN(argvi);
   fail:
     if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
@@ -8809,6 +8825,7 @@ XS(_wrap_new_Session__SWIG_3) {
     int res1 = 0 ;
     int argvi = 0;
     PERL::Session *result = 0 ;
+    SV *foo;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
@@ -8820,8 +8837,18 @@ XS(_wrap_new_Session__SWIG_3) {
     }
     arg1 = reinterpret_cast< switch_core_session_t * >(argp1);
     result = (PERL::Session *)new PERL::Session(arg1);
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_PERL__Session, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
-    
+       if (result->allocated) {
+               result->setPERL(my_perl);
+               foo = get_sv(result->suuid, TRUE);
+               SWIG_MakePtr(foo, SWIG_as_voidptr(result), SWIGTYPE_p_PERL__Session, SWIG_OWNER | SWIG_SHADOW);
+               result->setME(foo);     
+       } else {
+               foo = sv_newmortal();
+               SWIG_MakePtr(foo, SWIG_as_voidptr(result), SWIGTYPE_p_PERL__Session, SWIG_OWNER | SWIG_SHADOW);
+       }
+
+       ST(argvi) = foo; argvi++ ;
+       
     XSRETURN(argvi);
   fail:
     
@@ -8938,7 +8965,6 @@ XS(_wrap_delete_Session) {
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
-       SV *foo;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {
@@ -8966,7 +8992,6 @@ XS(_wrap_Session_destroy) {
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
-    SV *foo;
     dXSARGS;
     
     if ((items < 1) || (items > 1)) {