Sophie

Sophie

distrib > Fedora > 18 > i386 > by-pkgid > 916f75e06b28fba4c6dc2bbdec8b0f4b > files > 5

cmpi-bindings-0.5.2-5.fc18.src.rpm

diff -up cmpi-bindings-0.5.2/swig/cmpi.i.orig cmpi-bindings-0.5.2/swig/cmpi.i
--- cmpi-bindings-0.5.2/swig/cmpi.i.orig	2013-01-10 08:45:50.640372951 +0100
+++ cmpi-bindings-0.5.2/swig/cmpi.i	2013-01-10 08:54:10.930703349 +0100
@@ -258,11 +258,10 @@ data_value(const CMPIData *dp)
   else if (dp->state & (unsigned short)CMPI_badValue) {
     SWIG_exception(SWIG_ValueError, "bad value");
   }
-  else if (dp->state & CMPI_nullValue) {
-    result = Target_Null;
-    Target_INCREF(result);
+  else if (dp->state & CMPI_null) {
+    result = value_value(&(dp->value), CMPI_null);
   }
-  else if ((dp->type) & CMPI_ARRAY) {
+  else if (!(dp->state & CMPI_nullValue) && (dp->type & CMPI_ARRAY)) {
     int size = CMGetArrayCount(dp->value.array, NULL);
     int i;
     result = Target_SizedArray(size);
diff -up cmpi-bindings-0.5.2/swig/python/cmpi_pywbem_bindings.py.orig cmpi-bindings-0.5.2/swig/python/cmpi_pywbem_bindings.py
--- cmpi-bindings-0.5.2/swig/python/cmpi_pywbem_bindings.py.orig	2013-01-10 08:50:28.072663502 +0100
+++ cmpi-bindings-0.5.2/swig/python/cmpi_pywbem_bindings.py	2013-01-10 08:52:04.124110228 +0100
@@ -872,6 +872,8 @@ class CMPIProxyProvider(object):
     def cmpi2pywbem_data(self, cdata, _type=None, is_array=None):
         #TODO check for valid cdata.state
         #TODO error handling
+        if (cdata.state & cmpi.CMPI_nullValue) > 0:
+            return None
         if _type is None:
             _type, is_array = _cmpi_type2string(cdata.type)
         attr = _type