Exemplo n.º 1
0
static void cb_button_save(GtkButton *button, gpointer user_data)
{
    if (b_contrib) {
        ts_upload();
    } else {
        int i;
        for(i=0; i<del_ofsN; i++) {
            fseek(tsin_hand.fph, del_ofs[i], SEEK_SET);
            char clen;
            fread(&clen, 1, 1, tsin_hand.fph);
            if (clen > 0) {
                clen = -clen;
                fseek(tsin_hand.fph, del_ofs[i], SEEK_SET);
                fwrite(&clen, 1, 1, tsin_hand.fph);
            }
        }
        fflush(tsin_hand.fph);

#if UNIX
        unix_exec(GCIN_BIN_DIR"/tsd2a32 %s -o tsin.tmp", current_tsin_fname);
        unix_exec(GCIN_BIN_DIR"/tsa2d32 tsin.tmp %s", current_tsin_fname);
#else
        win32exec_va("tsd2a32", current_tsin_fname, "-o", "tsin.tmp", NULL);
        win32exec_va("tsa2d32", "tsin.tmp",  current_tsin_fname, NULL);
#endif
    }
    exit(0);
}
Exemplo n.º 2
0
gboolean init_tsin_table_fname(INMD *p, char *fname)
{
  char fname_idx[256], gtab_phrase_src[256], gtabfname[256];
  if (p->filename_append) {
//    dbg("filename_append %s\n",p->filename_append);
    strcpy(fname, p->filename_append);
    strcpy(gtabfname, fname);
  } else
  if (p->filename) {
    get_hime_user_fname(p->filename, fname);
    get_hime_user_or_sys_fname(p->filename, gtabfname);
  } else {
    dbg("no file name\n");
    return FALSE;
  }

  strcat(fname, ".tsin-db");
  strcat(strcpy(fname_idx, fname), ".idx");
  strcat(strcpy(gtab_phrase_src, fname), ".src");
//  dbg("init_tsin_table %s\n", fname);

  putenv("HIME_NO_RELOAD=");

  if (access(fname, W_OK) < 0 || access(fname_idx, W_OK) < 0)
  {
    unix_exec(HIME_BIN_DIR"/hime-tsin2gtab-phrase %s %s", gtabfname, gtab_phrase_src);
    unix_exec(HIME_BIN_DIR"/hime-tsa2d32 %s %s", gtab_phrase_src, fname);
  }

  return TRUE;
}
Exemplo n.º 3
0
void load_tsin_contrib()
{
    char minus_priv[128];
#define PRIVATE_PHRASES "private-phrases"
    gen_bin(PRIVATE_PHRASES, private_file_src, minus_priv);

#define CONTRIBUTED_PHRASES "contributed-phrases"
    char minus_contributed[128];
    gen_bin(CONTRIBUTED_PHRASES, contributed_file_src, minus_contributed);

#define DOWNLOADED_PHRASES "downloaded-phrases"
    char minus_downloaded[128];
    gen_bin(DOWNLOADED_PHRASES, downloaded_file_src, minus_downloaded);

    char sys_tsfname[128], contrib_temp[128];
    get_sys_table_file_name(tsin32_f, sys_tsfname);
    get_gcin_user_fname("contrib-temp", contrib_temp);
#if UNIX
    unix_exec(GCIN_BIN_DIR"/tsd2a32 -b -minus %s -o %s%s%s%s",
              sys_tsfname, contrib_temp, minus_priv, minus_contributed, minus_downloaded);
#else
    char *argv[32];
    int argc=0;
    argv[argc++]="-b";

    argv[argc++]="-o";
    argv[argc++]=contrib_temp;

    argv[argc++]="-minus";
    argv[argc++]=sys_tsfname;

    if (minus_priv[0]) {
        argv[argc++]="-minus";
        argv[argc++]=PRIVATE_PHRASES;
    }
    if (minus_contributed[0]) {
        argv[argc++]="-minus";
        argv[argc++]=CONTRIBUTED_PHRASES;
    }
    if (minus_downloaded[0]) {
        argv[argc++]="-minus";
        argv[argc++]=DOWNLOADED_PHRASES;
    }

    win32exec_argv("tsd2a32.exe", argc, argv);
#endif
    free_tsin();
    load_tsin_db0(contrib_temp, FALSE);
}
Exemplo n.º 4
0
static void gen_bin(char *name, char *full_src, char *minus)
{
    // doesn't have to use full path because chdir(gcin user dir)
    minus[0]=0;
    char src[128];
    strcat(strcpy(src, name),".src");

    dbg("gen_bin %s %s\n", name, src);

    if (get_gcin_user_fname(src, full_src)) {
        dbg("%s %s\n", name, full_src);
#if UNIX
        putenv("GCIN_NO_RELOAD=");
        unix_exec(GCIN_BIN_DIR"/tsa2d32 %s %s", src, name);
#else
        _putenv("GCIN_NO_RELOAD=Y");
        win32exec_va("tsa2d32", src, name, NULL);
#endif
        sprintf(minus, " -minus %s", name);
    } else
        dbg("not exist %s\n", full_src);
}