static void put_results(struct Datum *res) { if (show_count) printf("%lu\n",(unsigned long)res->count); else if (res->count) { if (xmldir) xmldir_results(xmldir,res->count); if ('v' == id_prefix(res->l.l8p[0]->text_id)) { if (!strcmp(return_index, "cat")) vid_display_proj = vid_proj_xmd; else vid_display_proj = vid_proj_xtf; vid_show_results(res); } else show_results(res); } else if (xmldir) xmldir_results(xmldir,res->count); }
int main(int argc, char * const*argv) { struct token *toks = NULL; int ntoks = 0; static struct Datum result; f_log = stderr; exit_on_error = TRUE; setlocale(LC_ALL,LOCALE); options(argc, argv, "28cdg:o:p:P:stuvx:"); if (!out_f) out_f = stdout; if (doing_debug) f_log = fopen("se.dbg","w"); /*atf2utf8_init();*/ charsets_init(); langtag_init(); tokinit(); if (pretrim_file || pretrim_args) pretrim_setup(); if (xmldir) toks = tokenize(xmldir_toks(xmldir),&ntoks); else toks = tokenize((const char **)(argv+optind),&ntoks); if (show_tokens) { showtoks(toks,ntoks); } else { binop_init(); binop24_init(); result = evaluate(toks, -1, lm_any, NULL); progress("se: result.count == %lu\n", (unsigned long)result.count); if (do_uniq && (res_gran == g_word || res_gran == g_grapheme)) do_uniq = 0; if (do_uniq && result.count > 1) { uniq(&result); progress("se: post-uniq result.count == %lu\n", (unsigned long)result.count); } if (show_count) printf("%lu\n",(unsigned long)result.count); else if (result.count) { if (xmldir) xmldir_results(xmldir,result.count); if ('v' == id_prefix(result.l.l8p[0]->text_id)) { if (!strcmp(return_index, "cat")) vid_display_proj = vid_proj_xmd; else vid_display_proj = vid_proj_xtf; vid_show_results(&result); } else show_results(&result); } else if (xmldir) xmldir_results(xmldir,result.count); } if (pretrim_args) { list_free(pretrim_args, NULL); pretrim_args = NULL; } if (pretrim) { hash_free(pretrim, NULL); pretrim = NULL; free(pretrim_lines); free(pretrim_content); pretrim_content = NULL; pretrim_lines = NULL; } langtag_term(); return 0; }