X-Git-Url: https://git.tokkee.org/?p=sysdb.git;a=blobdiff_plain;f=src%2Fcore%2Fstore_query.c;h=9855063304346f983d4abc768fd9c75e3f1dc65a;hp=90d45bf521c9d093b2dc34a153f465ef4e24712e;hb=29aa1f75c4840710671488420208a2e029a308a9;hpb=c2f7813397319e930c81c4f64b213bec64549167 diff --git a/src/core/store_query.c b/src/core/store_query.c index 90d45bf..9855063 100644 --- a/src/core/store_query.c +++ b/src/core/store_query.c @@ -1,5 +1,5 @@ /* - * SysDB - src/core/store_lookup.c + * SysDB - src/core/store_query.c * Copyright (C) 2014-2015 Sebastian 'tokkee' Harl * All rights reserved. * @@ -265,18 +265,16 @@ node_to_matcher(sdb_ast_node_t *n) } /* node_to_matcher */ /* - * matcher type + * query type */ static int -query_matcher_init(sdb_object_t *obj, va_list ap) +query_init(sdb_object_t *obj, va_list ap) { sdb_ast_node_t *ast = va_arg(ap, sdb_ast_node_t *); sdb_ast_node_t *matcher = NULL, *filter = NULL; - M(obj)->type = MATCHER_QUERY; - - QUERY_M(obj)->ast = ast; + QUERY(obj)->ast = ast; sdb_object_ref(SDB_OBJ(ast)); switch (ast->type) { @@ -302,43 +300,43 @@ query_matcher_init(sdb_object_t *obj, va_list ap) } if (matcher) { - QUERY_M(obj)->matcher = node_to_matcher(matcher); - if (! QUERY_M(obj)->matcher) + QUERY(obj)->matcher = node_to_matcher(matcher); + if (! QUERY(obj)->matcher) return -1; } if (filter) { - QUERY_M(obj)->filter = node_to_matcher(filter); - if (! QUERY_M(obj)->filter) + QUERY(obj)->filter = node_to_matcher(filter); + if (! QUERY(obj)->filter) return -1; } return 0; -} /* query_matcher_init */ +} /* query_init */ static void -query_matcher_destroy(sdb_object_t *obj) +query_destroy(sdb_object_t *obj) { - sdb_object_deref(SDB_OBJ(QUERY_M(obj)->ast)); - sdb_object_deref(SDB_OBJ(QUERY_M(obj)->matcher)); - sdb_object_deref(SDB_OBJ(QUERY_M(obj)->filter)); -} /* query_matcher_destroy */ + sdb_object_deref(SDB_OBJ(QUERY(obj)->ast)); + sdb_object_deref(SDB_OBJ(QUERY(obj)->matcher)); + sdb_object_deref(SDB_OBJ(QUERY(obj)->filter)); +} /* query_destroy */ static sdb_type_t query_type = { - /* size = */ sizeof(query_matcher_t), - /* init = */ query_matcher_init, - /* destroy = */ query_matcher_destroy, + /* size = */ sizeof(sdb_store_query_t), + /* init = */ query_init, + /* destroy = */ query_destroy, }; /* * public API */ -sdb_store_matcher_t * +sdb_store_query_t * sdb_store_query_prepare(sdb_ast_node_t *ast) { if (! ast) return NULL; - return M(sdb_object_create(SDB_AST_TYPE_TO_STRING(ast), query_type, ast)); + return QUERY(sdb_object_create(SDB_AST_TYPE_TO_STRING(ast), query_type, ast)); } /* sdb_store_query_prepare */ /* vim: set tw=78 sw=4 ts=4 noexpandtab : */