Home | History | Annotate | Download | only in util

Lines Matching refs:attr

108 static void _dealloc_hdf_attr(HDF_ATTR **attr)
112 while ((*attr) != NULL)
114 next = (*attr)->next;
115 if ((*attr)->key) free((*attr)->key);
116 if ((*attr)->value) free((*attr)->value);
117 free(*attr);
118 *attr = next;
120 *attr = NULL;
153 if (myhdf->attr != NULL)
155 _dealloc_hdf_attr(&(myhdf->attr));
397 if (obj != NULL) return obj->attr;
405 HDF_ATTR *attr, *last;
411 if (obj->attr != NULL)
413 attr = obj->attr;
414 last = attr;
415 while (attr != NULL)
417 if (!strcmp(attr->key, key))
419 if (attr->value) free(attr->value);
420 /* a set of NULL deletes the attr */
423 if (attr == obj->attr)
424 obj->attr = attr->next;
426 last->next = attr->next;
427 free(attr->key);
428 free(attr);
431 attr->value = strdup(value);
432 if (attr->value == NULL)
433 return nerr_raise(NERR_NOMEM, "Unable to set attr %s to %s", key, value);
436 last = attr;
437 attr = attr->next;
441 return nerr_raise(NERR_NOMEM, "Unable to set attr %s to %s", key, value);
442 attr = last->next;
447 obj->attr = (HDF_ATTR *) calloc(1, sizeof(HDF_ATTR));
448 if (obj->attr == NULL)
449 return nerr_raise(NERR_NOMEM, "Unable to set attr %s to %s", key, value);
450 attr = obj->attr;
452 attr->key = strdup(key);
453 attr->value = strdup(value);
454 if (attr->key == NULL || attr->value == NULL)
455 return nerr_raise(NERR_NOMEM, "Unable to set attr %s to %s", key, value);
488 return hdf->attr;
573 int dup, int wf, int link, HDF_ATTR *attr,
593 /* handle setting attr first */
594 if (hdf->attr == NULL)
596 hdf->attr = attr;
600 _merge_attr(hdf->attr, attr);
653 err = _set_value (hdf->top, new_name, value, dup, wf, link, attr, set_node);
725 hp->attr = attr;
752 /* handle setting attr first */
753 if (hp->attr == NULL)
755 hp->attr = attr;
759 _merge_attr(hp->attr, attr);
799 err = _set_value (hdf->top, new_name, value, dup, wf, link, attr, set_node);
827 HDF_ATTR *attr)
829 return nerr_pass(_set_value (hdf, name, value, 1, 1, 0, attr, NULL));
1060 err = _copy_attr(&attr_copy, st->attr);
1176 if (hdf->attr)
1178 HDF_ATTR *attr = hdf->attr;
1183 while (attr != NULL)
1185 if (attr->value == NULL || !strcmp(attr->value, "1"))
1186 err = dump_cbf(rock, "%s", attr->key);
1189 v = repr_string_alloc(attr->value);
1192 return nerr_raise(NERR_NOMEM, "Unable to repr attr %s value %s", attr->key, attr->value);
1193 err = dump_cbf(rock, "%s=%s", attr->key, v);
1197 if (attr->next)
1202 attr = attr->next;
1415 static NEOERR* parse_attr(char **str, HDF_ATTR **attr)
1425 *attr = NULL;
1438 _dealloc_hdf_attr(attr);
1485 _dealloc_hdf_attr(attr);
1492 _dealloc_hdf_attr(attr);
1506 _dealloc_hdf_attr(attr);
1519 _dealloc_hdf_attr(attr);
1523 if (*attr == NULL) *attr = ha;
1531 _dealloc_hdf_attr(attr);
1547 _dealloc_hdf_attr(attr);
1565 HDF_ATTR *attr = NULL;
1573 attr = NULL;
1631 err = parse_attr(&s, &attr);
1644 err = _set_value (hdf, name, value, 1, 1, 0, attr, NULL);
1657 err = _set_value (hdf, name, value, 1, 1, 0, attr, NULL);
1669 err = _set_value (hdf, name, value, 1, 1, 1, attr, NULL);
1682 err = _set_value (hdf, name, NULL, 1, 1, 0, attr, &lower);
1686 err = _set_value (lower, NULL, lower->value, 1, 1, 0, attr, NULL);
1745 err = _set_value (hdf, name, m, 0, 1, 0, attr, NULL);