return glite_jp_stack_error(ctx,&err);
}
- if (cclassad_evaluate_to_string(h->ad, strrchr(attr, ':')+1, &str)) {
+ if (!cclassad_evaluate_to_string(h->ad, strrchr(attr, ':')+1, &str) &&
+ cclassad_evaluate_to_expr(h->ad, strrchr(attr, ':')+1, &str) &&
+ !strcasecmp(str,"undefined")) { free(str); str = NULL; }
+
+ if (str) {
//struct stat fattr;
/*XXX ignore error */
//glite_jppsbe_file_attrs(ctx, h->bhandle, &fattr);
av = calloc(2, sizeof(glite_jp_attrval_t));
av[0].name = strdup(attr);
- av[0].value = strdup(str);
+ av[0].value = str; str = NULL;
av[0].size = -1;
av[0].timestamp = h->timestamp;
av[0].origin = GLITE_JP_ATTR_ORIG_FILE;