Update of /cvsroot/sblim/sfcb
In directory vz-cvs-3.sog:/tmp/cvs-serv29932
Modified Files:
ChangeLog NEWS providerDrv.c queryOperation.c
Log Message:
- 3261868 Enum CQL filter on NULL cause incorrect rsp
Index: NEWS
===================================================================
RCS file: /cvsroot/sblim/sfcb/NEWS,v
retrieving revision 1.577
retrieving revision 1.578
diff -u -d -r1.577 -r1.578
--- NEWS 31 Mar 2011 21:25:37 -0000 1.577
+++ NEWS 4 Apr 2011 22:37:18 -0000 1.578
@@ -1,3 +1,10 @@
+Changes in 1.3.12
+=================
+
+Bugs fixed:
+
+- 3261868 Enum CQL filter on NULL cause incorrect rsp
+
Changes in 1.3.11
=================
Index: queryOperation.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/queryOperation.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- queryOperation.c 31 Mar 2011 00:50:11 -0000 1.16
+++ queryOperation.c 4 Apr 2011 22:37:18 -0000 1.17
@@ -756,11 +756,21 @@
exit(16);
}
+static int __NullEvaluate(QLOperation *op, QLPropertySource* source, int invert)
+{
+ QLOpd type;
+ CMPIValue v = getPropValue(op->lhod, source, &type);
+
+ if (invert)
+ return ((type != QL_Null));
+
+ return ((type == QL_Null));
+}
+
+
int isNullEvaluate(QLOperation *op, QLPropertySource* source)
{
- QLOperand *opd=NULL;// op->lhod->ft->resolveProperty(op->lhod,source);
- if (opd==NULL) return 1;
- return 0;
+ return __NullEvaluate(op, source, 0);
}
char* isNullToString(QLOperation *op)
@@ -797,9 +807,7 @@
int isNotNullEvaluate(QLOperation *op, QLPropertySource* source)
{
- QLOperand *opd=NULL;// op->lhod->ft->resolveProperty(op->lhod,source);
- if (opd==NULL) return 0;
- return 1;
+ return __NullEvaluate(op, source, 1);
}
char* isNotNullToString(QLOperation *op)
Index: providerDrv.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/providerDrv.c,v
retrieving revision 1.95
retrieving revision 1.96
diff -u -d -r1.95 -r1.96
--- providerDrv.c 23 Feb 2011 23:02:42 -0000 1.95
+++ providerDrv.c 4 Apr 2011 22:37:18 -0000 1.96
@@ -1830,6 +1830,9 @@
CMPIValue v={(long long)0};
if (rc.rc==CMPI_RC_OK) {
+ if (d.state == CMPI_nullValue) {
+ *type=QL_Null;
+ } else {
if ((d.type & CMPI_SINT) == CMPI_SINT) {
if (d.type==CMPI_sint32) v.sint64=d.value.sint32;
else if (d.type==CMPI_sint16) v.sint64=d.value.sint16;
@@ -1873,6 +1876,7 @@
default:
*type=QL_Invalid;
}
+ }
}
else *type=QL_NotFound;
return v;
Index: ChangeLog
===================================================================
RCS file: /cvsroot/sblim/sfcb/ChangeLog,v
retrieving revision 1.650
retrieving revision 1.651
diff -u -d -r1.650 -r1.651
--- ChangeLog 31 Mar 2011 21:25:37 -0000 1.650
+++ ChangeLog 4 Apr 2011 22:37:18 -0000 1.651
@@ -1,3 +1,9 @@
+2011-04-04 Michael Chase-Salerno <br...@li...>
+
+ * queryOperation.c, providerDrv.c
+ [ 3261868 ] Enum CQL filter on NULL cause incorrect rsp
+ (based on patch by cpoblete)
+
2011-03-31 Chris Buccella <buc...@li...>
* elementCapabiltiesProvider.c:
|