From: Michael Chase-S. <mc...@us...> - 2011-04-04 22:37:21
|
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: |