Author: jsdelfino
Date: Wed Nov 29 09:26:09 2006
New Revision: 480634

URL: http://svn.apache.org/viewvc?view=rev&rev=480634
Log:
Fixed a bug where we were setting into an Operation a pointer to a local 
variable  on the stack, causing a memory violation. Also fixed the formatting 
of two exception messages.

Modified:
    
incubator/tuscany/cpp/sca/runtime/extensions/ruby/src/tuscany/sca/ruby/RubyServiceProxy.cpp
    
incubator/tuscany/cpp/sca/runtime/extensions/ruby/src/tuscany/sca/ruby/RubyServiceWrapper.cpp

Modified: 
incubator/tuscany/cpp/sca/runtime/extensions/ruby/src/tuscany/sca/ruby/RubyServiceProxy.cpp
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/ruby/src/tuscany/sca/ruby/RubyServiceProxy.cpp?view=diff&rev=480634&r1=480633&r2=480634
==============================================================================
--- 
incubator/tuscany/cpp/sca/runtime/extensions/ruby/src/tuscany/sca/ruby/RubyServiceProxy.cpp
 (original)
+++ 
incubator/tuscany/cpp/sca/runtime/extensions/ruby/src/tuscany/sca/ruby/RubyServiceProxy.cpp
 Wed Nov 29 09:26:09 2006
@@ -36,6 +36,8 @@
 #include "tuscany/sca/ruby/model/RubyImplementation.h"
 #include "tuscany/sca/ruby/model/RubyReferenceBinding.h"
 
+#include <sstream>
+
 extern "C"
 {
     
@@ -233,7 +235,9 @@
                                 }
                                 if (dob != NULL)
                                 {
-                                    operation.addParameter(&dob);
+                                    DataObjectPtr* dataObjectData = new 
DataObjectPtr;
+                                    *dataObjectData = dob;
+                                    operation.addParameter(dataObjectData);
                                 }
                                 else
                                 {
@@ -345,8 +349,9 @@
                         }
                         default:
                         {
-                            string msg = "Operation parameter type not 
supported" + resultType;
-                            rb_raise(rb_eRuntimeError, msg.c_str());
+                            ostringstream msg;
+                            msg << "Operation parameter type not supported: " 
<< resultType;
+                            rb_raise(rb_eRuntimeError, msg.str().c_str());
                             return Qnil;
                         }
                     }

Modified: 
incubator/tuscany/cpp/sca/runtime/extensions/ruby/src/tuscany/sca/ruby/RubyServiceWrapper.cpp
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/ruby/src/tuscany/sca/ruby/RubyServiceWrapper.cpp?view=diff&rev=480634&r1=480633&r2=480634
==============================================================================
--- 
incubator/tuscany/cpp/sca/runtime/extensions/ruby/src/tuscany/sca/ruby/RubyServiceWrapper.cpp
 (original)
+++ 
incubator/tuscany/cpp/sca/runtime/extensions/ruby/src/tuscany/sca/ruby/RubyServiceWrapper.cpp
 Wed Nov 29 09:26:09 2006
@@ -265,8 +265,9 @@
                                 }
                                 default:
                                 {
-                                    string msg = "Operation parameter type not 
supported" + parmType;
-                                    throwException(ServiceDataException, 
msg.c_str());
+                                    ostringstream msg;
+                                    msg << "Operation parameter type not 
supported: " << parmType;
+                                    throwException(ServiceDataException, 
msg.str().c_str());
                                 }
                             }
                             



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to