case EDG_WLL_QUERY_ATTR_OWNER:
case EDG_WLL_QUERY_ATTR_LOCATION:
case EDG_WLL_QUERY_ATTR_DESTINATION:
+ case EDG_WLL_QUERY_ATTR_JDL_ATTR:
free(qr->value.c);
break;
case EDG_WLL_QUERY_ATTR_LOCATION:
case EDG_WLL_QUERY_ATTR_DESTINATION:
case EDG_WLL_QUERY_ATTR_USERTAG:
+ case EDG_WLL_QUERY_ATTR_JDL_ATTR:
if ( !(cond->value.c = strdup(tmps)) )
return 0;
break;
case EDG_WLL_QUERY_ATTR_USERTAG:
case EDG_WLL_QUERY_ATTR_HOST:
case EDG_WLL_QUERY_ATTR_INSTANCE:
+ case EDG_WLL_QUERY_ATTR_JDL_ATTR:
if ( !(cond->value.c = strdup(tmps)) )
return 0;
break;
case EDG_WLL_QUERY_ATTR_HOST:
case EDG_WLL_QUERY_ATTR_INSTANCE:
case EDG_WLL_QUERY_ATTR_USERTAG:
+ case EDG_WLL_QUERY_ATTR_JDL_ATTR:
printf("%s", cond[i][j].value.c);
break;
case EDG_WLL_QUERY_ATTR_STATUS:
case EDG_WLL_QUERY_ATTR_HOST:
case EDG_WLL_QUERY_ATTR_CHKPT_TAG:
case EDG_WLL_QUERY_ATTR_NETWORK_SERVER:
+ case EDG_WLL_QUERY_ATTR_JDL_ATTR:
/* XXX: 255 may not be enough for location or destination */
return "varchar(255) binary null";
ct++;
break;
+ case EDG_WLL_QUERY_ATTR_JDL_ATTR:
+ if ( ec[m][n].op != EDG_WLL_QUERY_OP_EQUAL && ec[m][n].op != EDG_WLL_QUERY_OP_UNEQUAL )
+ {
+ edg_wll_SetError(ctx, EINVAL, "only `=' and '!=' supported with jdl_attr");
+ return NULL;
+ }
+ ct++;
+ break;
+
case EDG_WLL_QUERY_ATTR_INSTANCE:
if ( ec[m][n].op != EDG_WLL_QUERY_OP_EQUAL && ec[m][n].op != EDG_WLL_QUERY_OP_UNEQUAL )
{