]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-6796 #resolve hack mod_lua to read correct binary string
authorSeven Du <dujinfang@gmail.com>
Sat, 6 Sep 2014 11:38:40 +0000 (19:38 +0800)
committerSeven Du <dujinfang@gmail.com>
Sat, 6 Sep 2014 11:38:40 +0000 (19:38 +0800)
src/mod/languages/mod_lua/hack.diff
src/mod/languages/mod_lua/mod_lua_wrap.cpp

index 4004459b50bd550cf1783d619bbd1ce5a2295030..f0ea14dce473e78cbe1b61858f6b3cadf4310ced 100644 (file)
@@ -1,6 +1,15 @@
---- mod_lua_wrap.cpp.orig      2013-11-13 07:48:40.587304736 +0500
-+++ mod_lua_wrap.cpp   2013-11-13 07:43:09.059309154 +0500
-@@ -6427,7 +6427,7 @@
+--- mod_lua_wrap.cpp.orig      2014-09-06 19:25:05.000000000 +0800
++++ mod_lua_wrap.cpp   2014-09-06 19:27:17.000000000 +0800
+@@ -2799,7 +2799,7 @@
+   
+   result = (char *)(arg1)->read(arg2);
+   SWIG_arg=0;
+-  lua_pushstring(L,(const char*)result); SWIG_arg++;
++  lua_pushlstring(L,(const char*)result, (*arg2)); SWIG_arg++;
+   lua_pushnumber(L, (lua_Number) *arg2); SWIG_arg++;
+   return SWIG_arg;
+   
+@@ -6750,7 +6750,7 @@
    SWIG_check_num_args("LUA::Session",0,0)
    result = (LUA::Session *)new LUA::Session();
    SWIG_arg=0;
@@ -9,7 +18,7 @@
    return SWIG_arg;
    
    if(0) SWIG_fail;
-@@ -6455,7 +6455,7 @@
+@@ -6778,7 +6778,7 @@
    
    result = (LUA::Session *)new LUA::Session(arg1,arg2);
    SWIG_arg=0;
@@ -18,7 +27,7 @@
    return SWIG_arg;
    
    if(0) SWIG_fail;
-@@ -6476,7 +6476,7 @@
+@@ -6799,7 +6799,7 @@
    arg1 = (char *)lua_tostring(L, 1);
    result = (LUA::Session *)new LUA::Session(arg1);
    SWIG_arg=0;
@@ -27,7 +36,7 @@
    return SWIG_arg;
    
    if(0) SWIG_fail;
-@@ -6501,7 +6501,7 @@
+@@ -6824,7 +6824,7 @@
    
    result = (LUA::Session *)new LUA::Session(arg1);
    SWIG_arg=0;
@@ -36,7 +45,7 @@
    return SWIG_arg;
    
    if(0) SWIG_fail;
-@@ -7913,7 +7913,7 @@
+@@ -8236,7 +8236,7 @@
  }
  #endif
  
@@ -45,7 +54,7 @@
      { "setGlobalVariable", _wrap_setGlobalVariable},
      { "getGlobalVariable", _wrap_getGlobalVariable},
      { "consoleLog", _wrap_consoleLog},
-@@ -8325,7 +8325,7 @@
+@@ -8654,7 +8654,7 @@
  {
    int i;
    /* start with global table */
index 17af7c5b33824c50017469e1925c83ef1c5d84a5..256f86b98b19a7947a58c1a1b14878162e5cc2c6 100644 (file)
@@ -2799,7 +2799,7 @@ static int _wrap_Stream_read(lua_State* L) {
   
   result = (char *)(arg1)->read(arg2);
   SWIG_arg=0;
-  lua_pushstring(L,(const char*)result); SWIG_arg++;
+  lua_pushlstring(L,(const char*)result, (*arg2)); SWIG_arg++;
   lua_pushnumber(L, (lua_Number) *arg2); SWIG_arg++;
   return SWIG_arg;