コード例 #1
0
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);
}
コード例 #2
0
ファイル: main.c プロジェクト: dominikWin/arcs
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;
}