in.__sizeattributes = i;
in.attributes = conf->attrs;
-/*
- // XXX: we need C -> WSDL conversion function !
- query.attr = conf->query[0][0].attr;
- query.op = conf->query[0][0].op; // XXX: nasty, needs conversion
- query.origin = malloc(sizeof(*query.origin));
- *query.origin = jptype__attrOrig__USER;
- value.string = conf->query[0][0].value; // XXX: hope string
-// memset(&blob, 0, sizeof(blob));
-// value.blob = &blob;
- value.blob = NULL;
- query.value = &value;
- query.value2 = NULL;
-*/
- for (i=0; conf->query[i]; i++);
- in.__sizeconditions = i;
- in.conditions = malloc(i * sizeof(*in.conditions));
+ for (in.__sizeconditions=0; conf->query[in.__sizeconditions]; in.__sizeconditions++);
+ in.conditions = malloc(in.__sizeconditions * sizeof(*in.conditions));
for (i=0; conf->query[i]; i++) {
if (glite_jpis_QueryCondToSoap(soap, conf->query[i], &(in.conditions[i])) != SOAP_OK) {
}
}
- in.conditions[0] = &query; // XXX: supp. only one dimensional queries ! (no ORs)
- // for 2D queries one more _sizeconditions needed IMO
-
in.history = conf->history;
in.continuous = conf->continuous;
assert(in); assert(out);
if ( !(val = soap_malloc(soap, sizeof(*val))) ) return SOAP_FAULT;
+ memset(val, 0, sizeof(*val) );
if (binary) {
val->string = NULL;
if ( !(val->string = soap_strdup(soap, in)) ) return SOAP_FAULT;
}
+ *out = val;
+
return SOAP_OK;
}