X-Git-Url: https://git.tokkee.org/?p=sysdb.git;a=blobdiff_plain;f=src%2Ffrontend%2Fquery.c;h=a30bee3e4b8f274730ff650d2ca84cc168fee58d;hp=50f0fed6bb4997856e8692e2a994ab185ee94734;hb=b4d485cde96751e1ec832d0e75a3e6081006a1a4;hpb=05f8e6e8f6132ef71e51280a75a9ad9aa0c00665 diff --git a/src/frontend/query.c b/src/frontend/query.c index 50f0fed..a30bee3 100644 --- a/src/frontend/query.c +++ b/src/frontend/query.c @@ -167,24 +167,26 @@ sdb_fe_lookup(sdb_conn_t *conn) int sdb_fe_exec(sdb_conn_t *conn, sdb_conn_node_t *node) { + sdb_store_matcher_t *m = NULL, *filter = NULL; + if (! node) return -1; switch (node->cmd) { case CONNECTION_FETCH: - return sdb_fe_exec_fetch(conn, CONN_FETCH(node)->name, - /* filter = */ NULL); + if (CONN_FETCH(node)->filter) + filter = CONN_FETCH(node)->filter->matcher; + return sdb_fe_exec_fetch(conn, CONN_FETCH(node)->name, filter); case CONNECTION_LIST: - return sdb_fe_exec_list(conn, /* filter = */ NULL); + if (CONN_LIST(node)->filter) + filter = CONN_LIST(node)->filter->matcher; + return sdb_fe_exec_list(conn, filter); case CONNECTION_LOOKUP: - { - sdb_store_matcher_t *m = NULL, *filter = NULL; if (CONN_LOOKUP(node)->matcher) m = CONN_LOOKUP(node)->matcher->matcher; if (CONN_LOOKUP(node)->filter) filter = CONN_LOOKUP(node)->filter->matcher; return sdb_fe_exec_lookup(conn, m, filter); - } default: sdb_log(SDB_LOG_ERR, "frontend: Unknown command %i", node->cmd);