index f57cb05cab292fa53d86b56c936d35403fc77351..66f3f22dcfb9b5ec7a9fd447135ab493c7360f92 100644 (file)
--- a/src/core/store_lookup.c
+++ b/src/core/store_lookup.c
} /* lookup_iter */
static sdb_store_base_t *
-attr_get(sdb_store_base_t *host, const char *name)
+attr_get(sdb_host_t *host, const char *name)
{
sdb_llist_iter_t *iter = NULL;
sdb_store_base_t *attr = NULL;
- assert(host->type == SDB_HOST);
-
- iter = sdb_llist_get_iter(SDB_STORE_OBJ(host)->attributes);
+ iter = sdb_llist_get_iter(host->attributes);
while (sdb_llist_iter_has_next(iter)) {
- sdb_attribute_t *a = SDB_ATTR(sdb_llist_iter_get_next(iter));
+ sdb_attribute_t *a = ATTR(sdb_llist_iter_get_next(iter));
if (strcasecmp(name, SDB_OBJ(a)->name))
continue;
{
sdb_attribute_t *attr;
- attr = SDB_ATTR(attr_get(obj, ATTR_C(cond)->name));
+ attr = ATTR(attr_get(HOST(obj), ATTR_C(cond)->name));
if (! attr)
return INT_MAX;
if (attr->value.type != ATTR_C(cond)->value.type)
return match_string(&NAME_M(m)->name, obj->super.name);
break;
case SDB_SERVICE:
- iter = sdb_llist_get_iter(SDB_STORE_OBJ(obj)->services);
+ iter = sdb_llist_get_iter(HOST(obj)->services);
break;
case SDB_ATTRIBUTE:
- iter = sdb_llist_get_iter(SDB_STORE_OBJ(obj)->attributes);
+ iter = sdb_llist_get_iter(HOST(obj)->attributes);
break;
}
assert(m->type == MATCHER_ATTR);
assert(ATTR_M(m)->name);
- attr = SDB_ATTR(attr_get(obj, ATTR_M(m)->name));
+ attr = ATTR(attr_get(HOST(obj), ATTR_M(m)->name));
if (attr) {
char buf[sdb_data_strlen(&attr->value) + 1];
if (sdb_data_format(&attr->value, buf, sizeof(buf), SDB_UNQUOTED) <= 0)