int main (int argc, char **argv) { char *mname = ""; rb.buf = (char *) malloc ((unsigned) (rb.size = 0)); if (argc > 1) mname = argv[1]; if ((js = js_open (mname, 0)) == NULL) err (); if ((env = js_connect (js, "kana")) == NULL) err (); if ((fzk_file = js_file_read (env, FZK_FILE)) == -1) err (); if ((kihon_file = js_file_read (env, KIHON_DIC)) == -1) err (); if ((setto_file = js_file_read (env, SETTO_DIC)) == -1) err (); if (js_fuzokugo_set (env, fzk_file) == -1) err (); if ((kihon_dic_no = js_dic_add (env, kihon_file, -1, WNN_DIC_ADD_NOR, 1, WNN_DIC_RDONLY, WNN_DIC_RDONLY, NULL, NULL)) == -1) err (); if ((setto_dic_no = js_dic_add (env, setto_file, -1, WNN_DIC_ADD_NOR, 1, WNN_DIC_RDONLY, WNN_DIC_RDONLY, NULL, NULL)) == -1) err (); p_set (env); if ((rev_env = js_connect (js, "kanji")) == NULL) err (); if ((fzk_file = js_file_read (rev_env, FZK_FILE)) == -1) err (); if ((rev_file = js_file_read (rev_env, KIHON_DIC)) == -1) err (); if ((rev_setto_file = js_file_read (rev_env, SETTO_DIC)) == -1) err (); if (js_fuzokugo_set (rev_env, fzk_file) == -1) err (); if ((rev_dic_no = js_dic_add (rev_env, kihon_file, -1, WNN_DIC_ADD_REV, 1, WNN_DIC_RDONLY, WNN_DIC_RDONLY, NULL, NULL)) == -1) err (); if ((rev_setto_dic_no = js_dic_add (rev_env, setto_file, -1, WNN_DIC_ADD_REV, 1, WNN_DIC_RDONLY, WNN_DIC_RDONLY, NULL, NULL)) == -1) err (); p_set (rev_env); #ifdef DEBUG printf ("Now discard file push any key\n"); getchar (); js_file_discard (rev_env, rev_file); printf ("Now discard file\n"); #endif henkan (); js_close (js); }
int main(int argc, char **argv) { slog_init("dash", "slog.cfg", 400, 500, 1); slog(400, SLOG_INFO, "Starting arcs-dash"); r_args = calloc(1, sizeof(struct runtime_args)); parse_args(r_args, argc, argv); bool valid_viewer = r_args->r_viewer_ip != NULL; mode = MODE_DISABLED; screen_init(); kb_connect(); connect_comms(); char *js = found_js(); if (js != NULL) { js_connect(js); } struct iface_args *props = calloc(1, sizeof(struct iface_args)); props->js = (js == NULL) ? "Not found" : js; while (true) { if (props->jsstat.btn_guide) { slog(400, SLOG_INFO, "Quit due to guide button press"); break; } pthread_mutex_lock(&kb_lock); if (get_kb_status()->close_request) { slog(400, SLOG_INFO, "Quit due to keyboard press"); break; } pthread_mutex_unlock(&kb_lock); usleep(10000); pthread_mutex_lock(&js_lock); props->jsstat = get_js_state(); props->remote = addrstr(); props->mode = mode; props->use_viewer = valid_viewer && get_kb_status()->use_viewer; props->viewer_ip = valid_viewer ? r_args->r_viewer_ip : "NULL"; redraw(props); update_comms(get_js_state(), mode, valid_viewer && get_kb_status()->use_viewer, r_args->r_viewer_ip); pthread_mutex_unlock(&js_lock); } slog(400, SLOG_INFO, "Exiting"); free(props); free(r_args); screen_close(); disconnect_comms(); return 0; }