Ack from me.
Not tested.

/AndersBj

-----Original Message-----
From: Johan Mårtensson O 
Sent: den 10 juli 2015 12:00
To: Hans Nordebäck; Anders Björnerstedt; [email protected]
Cc: [email protected]
Subject: [PATCH 1 of 1] pyosaf: Fix broken marshalling in 
saImmOiRtObjectCreate_2 in saImmOi.py [#1409]

 python/pyosaf/saImmOi.py |  4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)


Fix broken marshalling in saImmOiRtObjectCreate_2. The fault, and the fix, can 
be verified by copying the code below into a Python shell:


from pyosaf.utils.immom.ccb import marshal_c_array from pyosaf.saImm import 
SaImmAttrNameT, SaImmAttrValuesT_2, SaImmClassNameT, eSaImmValueTypeT from 
pyosaf.saAis import SaNameT from pyosaf.saImmOi import saImmOiRtObjectCreate_2 
from pyosaf.utils import immoi

c_parent_name = None
c_class_name = SaImmClassNameT("AnyClass") c_class_name = 
SaImmClassNameT("AnyRuntimeClass")
c_attr_values = []
values = ["a"]
c_attr_type = eSaImmValueTypeT.SA_IMM_ATTR_SASTRINGT
c_attr = SaImmAttrValuesT_2()
c_attr.attrName = SaImmAttrNameT("anyAttribute") c_attr.attrValueType = 
c_attr_type c_attr.attrValuesNumber = 1 c_attr.attrValues = 
marshal_c_array(c_attr_type, values)
c_attr_values.append(c_attr)

err = saImmOiRtObjectCreate_2(immoi.HANDLE, c_class_name, c_parent_name, 
c_attr_values)

diff --git a/python/pyosaf/saImmOi.py b/python/pyosaf/saImmOi.py
--- a/python/pyosaf/saImmOi.py
+++ b/python/pyosaf/saImmOi.py
@@ -295,7 +295,7 @@ def saImmOiRtObjectCreate_2(immOiHandle,
                SaAisErrorT
 
        """
-       
+       c_attr_values = marshalNullArray(attrValues)
        oidll.saImmOiRtObjectCreate_2.argtypes = [SaImmOiHandleT,
                                                                                
          SaImmClassNameT,
                                                                                
          POINTER(SaNameT),
@@ -306,7 +306,7 @@ def saImmOiRtObjectCreate_2(immOiHandle,
        return oidll.saImmOiRtObjectCreate_2(immOiHandle,
                        className,
                        BYREF(parentName),
-                       BYREF(attrValues))
+                       c_attr_values)
 
 def saImmOiRtObjectDelete(immOiHandle, objectName):
        """Delete object and subtree rooted at that object.

------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to