+ register client *cl;
+{
+ register char *queryname;
+
+ cl->reply.mr_argc = 0;
+ cl->reply.mr_status = 0;
+ row_count = 0;
+
+ if (cl->args->mr_argc < 1) {
+ cl->reply.mr_status = MR_ARGS;
+ com_err(whoami, MR_ARGS, "got nameless query");
+ return;
+ }
+ queryname = cl->args->mr_argv[0];
+
+ if (cl->args->mr_version_no == MR_VERSION_2)
+ newqueries++;
+ else
+ oldqueries++;
+
+ if (strcmp(queryname, "_list_users") == 0)
+ cl->reply.mr_status = list_users(retr_callback, (char *)cl);
+ else {
+ cl->reply.mr_status =
+ mr_process_query(cl,
+ queryname,
+ cl->args->mr_argc-1,
+ cl->args->mr_argv+1,
+ retr_callback,
+ (char *)cl);
+ }
+ if (row_count >= max_row_count) {
+ critical_alert("moirad", "attempted query %s with %d rows\n",
+ queryname, row_count);
+ }
+
+ if (log_flags & LOG_RES)
+ com_err(whoami, 0, "Query complete.");
+}
+
+do_access(cl)