/* * query -- * Process a query. */ int query(char *cmd, int *donep) { CMDTAB *p; if (donep != NULL) *donep = 0; for (p = cmdtab; p->cmd != NULL; ++p) if (p->cmd != NULL && strncasecmp(cmd, p->cmd, strlen(p->cmd)) == 0) break; if (p->cmd == NULL) return (query_by_field(cmd)); if (p->f == NULL) { if (donep != NULL) *donep = 1; return (0); } return (p->f(cmd)); }