Path: blob/main/japanese/FreeWnn-server/files/patch-Wnn-conv-cvt_read.c
16461 views
Index: Wnn/conv/cvt_read.c1===================================================================2RCS file: /home/cvs/private/hrs/freewnn/Wnn/conv/cvt_read.c,v3retrieving revision 1.1.1.14retrieving revision 1.25diff -u -p -r1.1.1.1 -r1.26--- Wnn/conv/cvt_read.c 20 Dec 2008 07:13:30 -0000 1.1.1.17+++ Wnn/conv/cvt_read.c 20 Dec 2008 15:22:37 -0000 1.28@@ -67,8 +67,8 @@9/*10#define NOFILE_NOT_ABORT11*/12- /* �����define���Ƥ����ȡ��Ѵ�ɽ��open�Ǥ��ʤ����˥��顼��λ������13- ñ���Ѵ��ؿ��������ؿ��ˤʤ롣 */14+/* �����define���Ƥ����ȡ��Ѵ�ɽ��open�Ǥ��ʤ����˥��顼��λ������15+ ñ���Ѵ��ؿ��������ؿ��ˤʤ롣 */1617#define is_digit(x) (isascii(x) && isdigit(x))18#define is_xdigit(x) (isascii(x) && isxdigit(x))19@@ -82,14 +82,13 @@2021#define ESCCHR '\033'2223- /* convert_key ���Ѵ�ɽ�Υե�����̾�Υǥե���Ȥåȡ�24- �Ѵ�ɽ��̾������Ū�˻��ꤵ�줿�顢���줬�����ѿ����ͤˤʤ롣 */25+/* convert_key ���Ѵ�ɽ�Υե�����̾�Υǥե���Ȥåȡ�26+ �Ѵ�ɽ��̾������Ū�˻��ꤵ�줿�顢���줬�����ѿ����ͤˤʤ롣 */27static char *convert_filename;28static char default_cvt_fn[128];2930static FILE *convert_hyo;3132-33/** ���顼��å�������ɽ�� */34#define errdsp1(mes, conv_fnm) \35fprintf(stderr, "%s: %s.\r\n%s = %s\r\n\n", \36@@ -132,11 +131,10 @@ static FILE *convert_hyo;3738/** ������c���ܤ˸�������ǰ��� */39static void40-printcode (f, c)41- FILE *f;42- int c;43+printcode(FILE *f,44+ int c)45{46- fprintf (f, (' ' <= c && c < '\177') ? "'%c'" : ((c & ~0xff) ? "0x%X" : "'\\%03o'"), c);47+ fprintf(f, (' ' <= c && c < '\177') ? "'%c'" : ((c & ~0xff) ? "0x%X" : "'\\%03o'"), c);48}4950/*51@@ -145,58 +143,58 @@ char **pterp;52{�ѻ�}53*/5455- /** 8��10��16�ʥ������ѤΥ���饯����ºݤΥ����ɤ�ľ�������ϤΥ����å���56- ���ʤ������Ϥϱѿ����Ȳ��ꤷ�Ƥ���ˡ�*/57+/** 8��10��16�ʥ������ѤΥ���饯����ºݤΥ����ɤ�ľ�������ϤΥ����å���58+ ���ʤ������Ϥϱѿ����Ȳ��ꤷ�Ƥ���ˡ�*/59static int60-charvalue (c)61- char c;62+charvalue (char c)63{64- if (isupper (c))65- return (c - 'A' + 10);66- if (islower (c))67- return (c - 'a' + 10);68- return (c - '0');69-}70+ if (isupper(c))71+ return (c - 'A' + 10);7273+ if (islower(c))74+ return (c - 'a' + 10);75+76+ return (c - '0');77+}7879#ifdef TERMCAP80char *cvttbl_entry[] = {81- "k0", "k1", "k2", "k3", "k4", "k5", "k6", "k7", "k8", "k9",82+ "k0", "k1", "k2", "k3", "k4", "k5", "k6", "k7", "k8", "k9",83#ifdef SUPPORT_TWODIGIT_FUNCTIONS84- "k;",85- "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "FA",86- "FB", "FC", "FD", "FE", "FF", "FG", "FH", "FI", "FJ", "FK",87- "FL", "FM", "FN", "FO", "FP", "FQ", "FR", "FS", "FT", "FU",88- "FV", "FW", "FX", "FY", "FZ", "Fa", "Fb", "Fc", "Fd", "Fe",89- "Ff", "Fg", "Fh", "Fi", "Fj", "Fk", "Fl", "Fm", "Fn", "Fo",90- "Fp", "Fq", "Fr",91+ "k;",92+ "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "FA",93+ "FB", "FC", "FD", "FE", "FF", "FG", "FH", "FI", "FJ", "FK",94+ "FL", "FM", "FN", "FO", "FP", "FQ", "FR", "FS", "FT", "FU",95+ "FV", "FW", "FX", "FY", "FZ", "Fa", "Fb", "Fc", "Fd", "Fe",96+ "Ff", "Fg", "Fh", "Fi", "Fj", "Fk", "Fl", "Fm", "Fn", "Fo",97+ "Fp", "Fq", "Fr",98#endif /* SUPPORT_TWODIGIT_FUNCTIONS */99- "ku", "kr", "kl", "kd", "kh",100- "up", "ri", "le", "do", "ho",101- "kb",102- "!del", /* ���� */103+ "ku", "kr", "kl", "kd", "kh",104+ "up", "ri", "le", "do", "ho",105+ "kb",106+ "!del", /* ���� */107};108#endif /* TERMCAP */109#ifdef TERMINFO110char *cvttbl_entry[] = {111- "kf0", "kf1", "kf2", "kf3", "kf4", "kf5", "kf6", "kf7",112- "kf8", "kf9", "kf10",113+ "kf0", "kf1", "kf2", "kf3", "kf4", "kf5", "kf6", "kf7",114+ "kf8", "kf9", "kf10",115#ifdef SUPPORT_TWODIGIT_FUNCTIONS116- "kf11", "kf12", "kf13", "kf14", "kf15", "kf16", "kf17",117- "kf18", "kf19", "kf20", "kf21", "kf22", "kf23", "kf24",118- "kf25", "kf26", "kf27", "kf28", "kf29", "kf30", "kf31",119+ "kf11", "kf12", "kf13", "kf14", "kf15", "kf16", "kf17",120+ "kf18", "kf19", "kf20", "kf21", "kf22", "kf23", "kf24",121+ "kf25", "kf26", "kf27", "kf28", "kf29", "kf30", "kf31",122#ifndef uniosu123- "kf32", "kf33", "kf34", "kf35", "kf36", "kf37", "kf38",124- "kf39", "kf40", "kf41", "kf42", "kf43", "kf44", "kf45",125- "kf46", "kf47", "kf48", "kf49", "kf50", "kf51", "kf52",126- "kf53", "kf54", "kf55", "kf56", "kf57", "kf58", "kf59",127- "kf60", "kf61", "kf62", "kf63",128+ "kf32", "kf33", "kf34", "kf35", "kf36", "kf37", "kf38",129+ "kf39", "kf40", "kf41", "kf42", "kf43", "kf44", "kf45",130+ "kf46", "kf47", "kf48", "kf49", "kf50", "kf51", "kf52",131+ "kf53", "kf54", "kf55", "kf56", "kf57", "kf58", "kf59",132+ "kf60", "kf61", "kf62", "kf63",133#endif134#endif /* SUPPORT_TWODIGIT_FUNCTIONS */135- "kcuu1", "kcuf1", "kcub1", "kcud1", "khome",136- "kbs", "ktbc", "kclr", "kctab", "kdch1", "kdl1",137- "krmir", "kel", "ked", "kich1", "kil1",138- "kll", "knp", "kpp", "kind", "kri", "khts",139+ "kcuu1", "kcuf1", "kcub1", "kcud1", "khome",140+ "kbs", "ktbc", "kclr", "kctab", "kdch1", "kdl1",141+ "krmir", "kel", "ked", "kich1", "kil1",142+ "kll", "knp", "kpp", "kind", "kri", "khts",143};144#endif /* TERMINFO */145146@@ -208,494 +206,496 @@ char tdataarea[AREASIZE]; /* �ǡ��147148struct CONVCODE tbl[CVTTBLSIZ];149int cnv_tbl_cnt; /* convert table count */150- /* �����ϸ��� convert_key.c���static�ѿ����ä� */151+/* �����ϸ��� convert_key.c���static�ѿ����ä� */152153- /** ����С���ɽ�Υ���ȥ���ʬ��Ȥ롣����������Ĺ��Ķ������0���֤� */154+/** ����С���ɽ�Υ���ȥ���ʬ��Ȥ롣����������Ĺ��Ķ������0���֤� */155static int156-get_entrynm (buf)157- char *buf;158+get_entrynm(char *buf)159{160- int i, c;161+ int i, c;162163- for (i = 0; i <= ENTRY_LEN; i++)164- {165- c = getc (convert_hyo);166- if (is_eofsp (c))167- {168- ungetc (c, convert_hyo);169- *buf = '\0';170- return (1);171- }172- else173- *buf++ = c;174- }175- return (0);176+ for (i = 0; i <= ENTRY_LEN; i++) {177+ c = getc(convert_hyo);178+179+ if (is_eofsp(c)) {180+ ungetc(c, convert_hyo);181+ *buf = '\0';182+ return (1);183+ } else184+ *buf++ = c;185+ }186+187+ return (0);188}189190/** ����ʲ���ʸ��������ˤ�ȤФ��Ƽ���ʸ�����֤� */191static int192-blank_ign_getc (f)193- FILE *f;194+blank_ign_getc(FILE *f)195{196- int c;197+ int c;198+199+ while (c = getc(f),200+ is_space(c) && c != '\n');201202- while (c = getc (f), is_space (c) && c != '\n');203- return (c);204+ return (c);205}206207- /** ����������EOF�ˤޤ����Ф������δ֤������ʸ�������ä�����0���֤���*/208+/** ����������EOF�ˤޤ����Ф������δ֤������ʸ�������ä�����0���֤���*/209static int210-linepass (f)211- FILE *f;212+linepass(FILE *f)213{214- int c, flg = 0;215+ int c, flg = 0;216217- while (c = getc (f), !is_eofnl (c))218- flg = (flg || !is_space (c));219- return (flg);220+ while (c = getc(f), !is_eofnl(c))221+ flg = (flg || !is_space(c));222+223+ return (flg);224}225226- /** ����ȥ����륳���ɷ����Υ�����ɽ����ʸ��ʬ��Ȥ롣���顼����������͡�0*/227+/** ����ȥ����륳���ɷ����Υ�����ɽ����ʸ��ʬ��Ȥ롣���顼����������͡�0*/228static int229-get_ctrl (cptr)230- int *cptr;231+get_ctrl(int *cptr)232{233- int c;234+ int c;235+236+ if (!(' ' <= (c = getc(convert_hyo))237+ && c < '\177'))238+ return (1);239+240+ *cptr = (c == '?' ? '\177' : c & 0x1f);241242- if (!(' ' <= (c = getc (convert_hyo)) && c < '\177'))243- return (1);244- *cptr = (c == '?' ? '\177' : c & 0x1f);245- return (0);246+ return (0);247}248249/** �Хå�����å�������Υ�����ɽ����ʸ��ʬ��Ȥ롣���顼���������0���֤�*/250static int251-get_bcksla (cptr)252- int *cptr;253+get_bcksla(int *cptr)254{255- int c, code = 0, digflg = 0;256+ int c, code = 0, digflg = 0;257258- switch (c = getc (convert_hyo))259- {260- case 'n':261- *cptr = '\n';262- return (0);263- case 't':264- *cptr = '\t';265- return (0);266- case 'b':267- *cptr = '\b';268- return (0);269- case 'r':270- *cptr = '\r';271- return (0);272- case 'f':273- *cptr = '\f';274- return (0);275- case 'e':276- case 'E':277- *cptr = ESCCHR;278- return (0);279- case 'o':280- while (c = getc (convert_hyo), is_octal (c))281- {282- code <<= 3;283- code += charvalue (c);284- digflg = 1;285- }286- ungetc (c, convert_hyo);287- *cptr = code;288- return (digflg == 0);289- case 'd':290- while (c = getc (convert_hyo), is_digit (c))291- {292- code *= 10;293- code += charvalue (c);294- digflg = 1;295- }296- ungetc (c, convert_hyo);297- *cptr = code;298- return (digflg == 0);299- case 'x':300- while (c = getc (convert_hyo), is_xdigit (c))301- {302- code <<= 4;303- code += charvalue (c);304- digflg = 1;305- }306- ungetc (c, convert_hyo);307- *cptr = code;308- return (digflg == 0);309- default:310- if (is_octal (c))311- {312- code = charvalue (c);313- while (c = getc (convert_hyo), is_octal (c))314- {315- code <<= 3;316- code += charvalue (c);317- }318- ungetc (c, convert_hyo);319- *cptr = code;320- return (0);321- }322- else323- {324- *cptr = c;325- return (0);326- }327- }328+ switch (c = getc(convert_hyo)) {329+ case 'n':330+ *cptr = '\n';331+ return (0);332+ case 't':333+ *cptr = '\t';334+ return (0);335+ case 'b':336+ *cptr = '\b';337+ return (0);338+ case 'r':339+ *cptr = '\r';340+ return (0);341+ case 'f':342+ *cptr = '\f';343+ return (0);344+ case 'e':345+ case 'E':346+ *cptr = ESCCHR;347+ return (0);348+ case 'o':349+ while (c = getc(convert_hyo), is_octal(c)) {350+ code <<= 3;351+ code += charvalue(c);352+ digflg = 1;353+ }354+ ungetc(c, convert_hyo);355+ *cptr = code;356+ return (digflg == 0);357+ case 'd':358+ while (c = getc(convert_hyo), is_digit(c)) {359+ code *= 10;360+ code += charvalue(c);361+ digflg = 1;362+ }363+364+ ungetc(c, convert_hyo);365+ *cptr = code;366+ return (digflg == 0);367+ case 'x':368+ while (c = getc(convert_hyo), is_xdigit(c)) {369+ code <<= 4;370+ code += charvalue(c);371+ digflg = 1;372+ }373+ ungetc(c, convert_hyo);374+ *cptr = code;375+ return (digflg == 0);376+ default:377+ if (is_octal(c)) {378+ code = charvalue(c);379+ while (c = getc(convert_hyo), is_octal(c)) {380+ code <<= 3;381+ code += charvalue(c);382+ }383+ ungetc(c, convert_hyo);384+ *cptr = code;385+ return (0);386+ } else {387+ *cptr = c;388+ return (0);389+ }390+ }391}392393- /** ������ɽ����Ȥäơ�cptr�λؤ���ˤ��Υ����ɤ�����롣394- ʸˡ���顼ȯ��������0���֤���*/395+/** ������ɽ����Ȥäơ�cptr�λؤ���ˤ��Υ����ɤ�����롣396+ ʸˡ���顼ȯ��������0���֤���*/397static int398-get_code (cptr)399- int *cptr;400+get_code(int *cptr)401{402- int c;403+ int c;404405- switch (c = getc (convert_hyo))406- {407- case '\\':408- return (get_bcksla (cptr));409- case '^':410- return (get_ctrl (cptr));411- default:412- *cptr = c;413- return (0);414- }415+ switch (c = getc(convert_hyo)) {416+ case '\\':417+ return (get_bcksla(cptr));418+ case '^':419+ return (get_ctrl(cptr));420+ default:421+ *cptr = c;422+ return (0);423+ }424}425426#ifdef TERMCAP427- /** tgetstr��Ʊ���δؿ���â��������ȥ�̾��!del�ס�DEL�������Ѵ��뤿��428- ����Ū���ɲä��Ƥ��륨��ȥ�ˤ��Ф��Ƥϡ���ʸ����"\177"���֤���*/429+/** tgetstr��Ʊ���δؿ���â��������ȥ�̾��!del�ס�DEL�������Ѵ��뤿��430+ ����Ū���ɲä��Ƥ��륨��ȥ�ˤ��Ф��Ƥϡ���ʸ����"\177"���֤���*/431static char *432-my_tgetstr (name, ptr)433- char *name, **ptr;434+my_tgetstr(char *name,435+ char **ptr)436{437- extern char *tgetstr ();438- static char *del = "\177";439+ extern char *tgetstr ();440+ static char *del = "\177";441442- if (strcmp (name, "!del") == 0)443- return (del);444- return (tgetstr (name, ptr));445+ if (strcmp(name, "!del") == 0)446+ return (del);447+448+ return (tgetstr(name, ptr));449}450#endif451452#ifdef TERMINFO453- /** pp1�λؤ��Ƥ��륨�ꥢ��p2�����Ƥ����줿�塢pp1�Υݥ���ʤ�Ƥ���*/454+/** pp1�λؤ��Ƥ��륨�ꥢ��p2�����Ƥ����줿�塢pp1�Υݥ���ʤ�Ƥ���*/455static char *456-stradd (pp1, p2)457- char **pp1, *p2;458+stradd(char **pp1, char *p2)459{460- if (p2 != NULL)461- {462- strcpy (*pp1, p2);463- (*pp1) += strlen (p2 = *pp1) + 1;464- }465- return (p2);466+ if (p2 != NULL) {467+ strcpy(*pp1, p2);468+ (*pp1) += strlen(p2 = *pp1) + 1;469+ }470+471+ return (p2);472}473#endif474475/** termcap/info�����ɤ�������Υǡ��������ѥ��ꥢ�˥��ԡ���*/476static void477-convert_getstrs (flg)478- int flg; /* verbose�⡼�ɤǵ��������Υե饰�ʺ��νꤽ���������������479- ��ĥ�����뤫�⤷��ʤ��Τǡ�1��0��Ϳ���Ʋ����������Υե�����480- ��Ρ�̾����convert_�ǻϤޤ�¾�δؿ��Ǥ�Ʊ���Ǥ��� */481+convert_getstrs(int flg)482+/* verbose�⡼�ɤǵ��������Υե饰�ʺ��νꤽ���������������483+ ��ĥ�����뤫�⤷��ʤ��Τǡ�1��0��Ϳ���Ʋ����������Υե�����484+ ��Ρ�̾����convert_�ǻϤޤ�¾�δؿ��Ǥ�Ʊ���Ǥ��� */485{486- char *tdataptr;487- int i;488+ char *tdataptr;489+ int i;490491- tdataptr = tdataarea;492+ tdataptr = tdataarea;493494#ifdef TERMCAP495- for (i = 0; i < ENTRY_CNT; i++)496- keydef_key[i] = my_tgetstr (cvttbl_entry[i], &tdataptr);497+ for (i = 0; i < ENTRY_CNT; i++)498+ keydef_key[i] = my_tgetstr(cvttbl_entry[i], &tdataptr);499/* keydef_key[i] ���ͤϡ�NULL����tdataarea���ϰ���Ȥϸ¤�ʤ���500"\177"�ʤɤ��ü�ǡ�����ؤ����Ȥ⤢�롣 */501502- if (flg)503- fprintf (stderr, "convert_key: finished getting TERMCAP.\r\n");504+ if (flg)505+ fprintf (stderr, "convert_key: finished getting TERMCAP.\r\n");506#endif507508#ifdef TERMINFO509- i = 0;510- keydef_key[i++] = stradd (&tdataptr, key_f0);511- keydef_key[i++] = stradd (&tdataptr, key_f1);512- keydef_key[i++] = stradd (&tdataptr, key_f2);513- keydef_key[i++] = stradd (&tdataptr, key_f3);514- keydef_key[i++] = stradd (&tdataptr, key_f4);515- keydef_key[i++] = stradd (&tdataptr, key_f5);516- keydef_key[i++] = stradd (&tdataptr, key_f6);517- keydef_key[i++] = stradd (&tdataptr, key_f7);518- keydef_key[i++] = stradd (&tdataptr, key_f8);519- keydef_key[i++] = stradd (&tdataptr, key_f9);520- keydef_key[i++] = stradd (&tdataptr, key_f10);521+ i = 0;522+ keydef_key[i++] = stradd(&tdataptr, key_f0);523+ keydef_key[i++] = stradd(&tdataptr, key_f1);524+ keydef_key[i++] = stradd(&tdataptr, key_f2);525+ keydef_key[i++] = stradd(&tdataptr, key_f3);526+ keydef_key[i++] = stradd(&tdataptr, key_f4);527+ keydef_key[i++] = stradd(&tdataptr, key_f5);528+ keydef_key[i++] = stradd(&tdataptr, key_f6);529+ keydef_key[i++] = stradd(&tdataptr, key_f7);530+ keydef_key[i++] = stradd(&tdataptr, key_f8);531+ keydef_key[i++] = stradd(&tdataptr, key_f9);532+ keydef_key[i++] = stradd(&tdataptr, key_f10);533#ifdef SUPPORT_TWODIGIT_FUNCTIONS534- keydef_key[i++] = stradd (&tdataptr, key_f11);535- keydef_key[i++] = stradd (&tdataptr, key_f12);536- keydef_key[i++] = stradd (&tdataptr, key_f13);537- keydef_key[i++] = stradd (&tdataptr, key_f14);538- keydef_key[i++] = stradd (&tdataptr, key_f15);539- keydef_key[i++] = stradd (&tdataptr, key_f16);540- keydef_key[i++] = stradd (&tdataptr, key_f17);541- keydef_key[i++] = stradd (&tdataptr, key_f18);542- keydef_key[i++] = stradd (&tdataptr, key_f19);543- keydef_key[i++] = stradd (&tdataptr, key_f20);544- keydef_key[i++] = stradd (&tdataptr, key_f21);545- keydef_key[i++] = stradd (&tdataptr, key_f22);546- keydef_key[i++] = stradd (&tdataptr, key_f23);547- keydef_key[i++] = stradd (&tdataptr, key_f24);548- keydef_key[i++] = stradd (&tdataptr, key_f25);549- keydef_key[i++] = stradd (&tdataptr, key_f26);550- keydef_key[i++] = stradd (&tdataptr, key_f27);551- keydef_key[i++] = stradd (&tdataptr, key_f28);552- keydef_key[i++] = stradd (&tdataptr, key_f29);553- keydef_key[i++] = stradd (&tdataptr, key_f30);554- keydef_key[i++] = stradd (&tdataptr, key_f31);555+ keydef_key[i++] = stradd(&tdataptr, key_f11);556+ keydef_key[i++] = stradd(&tdataptr, key_f12);557+ keydef_key[i++] = stradd(&tdataptr, key_f13);558+ keydef_key[i++] = stradd(&tdataptr, key_f14);559+ keydef_key[i++] = stradd(&tdataptr, key_f15);560+ keydef_key[i++] = stradd(&tdataptr, key_f16);561+ keydef_key[i++] = stradd(&tdataptr, key_f17);562+ keydef_key[i++] = stradd(&tdataptr, key_f18);563+ keydef_key[i++] = stradd(&tdataptr, key_f19);564+ keydef_key[i++] = stradd(&tdataptr, key_f20);565+ keydef_key[i++] = stradd(&tdataptr, key_f21);566+ keydef_key[i++] = stradd(&tdataptr, key_f22);567+ keydef_key[i++] = stradd(&tdataptr, key_f23);568+ keydef_key[i++] = stradd(&tdataptr, key_f24);569+ keydef_key[i++] = stradd(&tdataptr, key_f25);570+ keydef_key[i++] = stradd(&tdataptr, key_f26);571+ keydef_key[i++] = stradd(&tdataptr, key_f27);572+ keydef_key[i++] = stradd(&tdataptr, key_f28);573+ keydef_key[i++] = stradd(&tdataptr, key_f29);574+ keydef_key[i++] = stradd(&tdataptr, key_f30);575+ keydef_key[i++] = stradd(&tdataptr, key_f31);576#endif /* SUPPORT_TWODIGIT_FUNCTIONS */577/* �ʲ����578- "kcuu1", "kcuf1", "kcub1", "kcud1", "khome",579- "kbs", "ktbc", "kclr", "kctab", "kdch1", "kdl1",580- "krmir", "kel", "ked", "kich1", "kil1",581- "kll", "knp", "kpp", "kind", "kri", "khts",582+ "kcuu1", "kcuf1", "kcub1", "kcud1", "khome",583+ "kbs", "ktbc", "kclr", "kctab", "kdch1", "kdl1",584+ "krmir", "kel", "ked", "kich1", "kil1",585+ "kll", "knp", "kpp", "kind", "kri", "khts",586*/587- keydef_key[i++] = stradd (&tdataptr, key_up);588- keydef_key[i++] = stradd (&tdataptr, key_right);589- keydef_key[i++] = stradd (&tdataptr, key_left);590- keydef_key[i++] = stradd (&tdataptr, key_down);591- keydef_key[i++] = stradd (&tdataptr, key_home);592- keydef_key[i++] = stradd (&tdataptr, key_backspace);593- keydef_key[i++] = stradd (&tdataptr, key_catab);594- keydef_key[i++] = stradd (&tdataptr, key_clear);595- keydef_key[i++] = stradd (&tdataptr, key_ctab);596- keydef_key[i++] = stradd (&tdataptr, key_dc);597- keydef_key[i++] = stradd (&tdataptr, key_dl);598- keydef_key[i++] = stradd (&tdataptr, key_eic);599- keydef_key[i++] = stradd (&tdataptr, key_eol);600- keydef_key[i++] = stradd (&tdataptr, key_eos);601- keydef_key[i++] = stradd (&tdataptr, key_ic);602- keydef_key[i++] = stradd (&tdataptr, key_il);603- keydef_key[i++] = stradd (&tdataptr, key_ll);604- keydef_key[i++] = stradd (&tdataptr, key_npage);605- keydef_key[i++] = stradd (&tdataptr, key_ppage);606- keydef_key[i++] = stradd (&tdataptr, key_sf);607- keydef_key[i++] = stradd (&tdataptr, key_sr);608- keydef_key[i++] = stradd (&tdataptr, key_stab);609-610- if (flg)611- fprintf (stderr, "convert_key: finished getting TERMINFO.\r\n");612+ keydef_key[i++] = stradd(&tdataptr, key_up);613+ keydef_key[i++] = stradd(&tdataptr, key_right);614+ keydef_key[i++] = stradd(&tdataptr, key_left);615+ keydef_key[i++] = stradd(&tdataptr, key_down);616+ keydef_key[i++] = stradd(&tdataptr, key_home);617+ keydef_key[i++] = stradd(&tdataptr, key_backspace);618+ keydef_key[i++] = stradd(&tdataptr, key_catab);619+ keydef_key[i++] = stradd(&tdataptr, key_clear);620+ keydef_key[i++] = stradd(&tdataptr, key_ctab);621+ keydef_key[i++] = stradd(&tdataptr, key_dc);622+ keydef_key[i++] = stradd(&tdataptr, key_dl);623+ keydef_key[i++] = stradd(&tdataptr, key_eic);624+ keydef_key[i++] = stradd(&tdataptr, key_eol);625+ keydef_key[i++] = stradd(&tdataptr, key_eos);626+ keydef_key[i++] = stradd(&tdataptr, key_ic);627+ keydef_key[i++] = stradd(&tdataptr, key_il);628+ keydef_key[i++] = stradd(&tdataptr, key_ll);629+ keydef_key[i++] = stradd(&tdataptr, key_npage);630+ keydef_key[i++] = stradd(&tdataptr, key_ppage);631+ keydef_key[i++] = stradd(&tdataptr, key_sf);632+ keydef_key[i++] = stradd(&tdataptr, key_sr);633+ keydef_key[i++] = stradd(&tdataptr, key_stab);634+635+ if (flg)636+ fprintf(stderr, "convert_key: finished getting TERMINFO.\r\n");637#endif638}639640- /** TERMINFO �ξ��� setupterm()��TERMCAP�ξ��� tgetent()�ν�����Ԥä�641- �塢������ȯ�����륷�����Υǡ��������ѤΥ��ꥢ�˥��ԡ����롣642- termcap/info�Υǡ����١����������ץ�Ǥ��ʤ��ä�����0���֤���*/643+/** TERMINFO �ξ��� setupterm()��TERMCAP�ξ��� tgetent()�ν�����Ԥä�644+ �塢������ȯ�����륷�����Υǡ��������ѤΥ��ꥢ�˥��ԡ����롣645+ termcap/info�Υǡ����١����������ץ�Ǥ��ʤ��ä�����0���֤���*/646#ifdef TERMCAP647int648-convert_getterm (termname, flg)649- char *termname;650- int flg;651-{652- extern int tgetent ();653- char tcaparea[AREASIZE];654-655- if (flg)656- fprintf (stderr, "convert_key: using TERMCAP entry %s...\r\n", termname);657- if (tgetent (tcaparea, termname) <= 0)658- {659- errdsp2 ("Can't get termcap entry", termname);660- return (1);661- }662- convert_getstrs (flg);663- return (0);664+convert_getterm(char *termname,665+ int flg)666+{667+ extern int tgetent ();668+ char tcaparea[AREASIZE];669+670+ if (flg)671+ fprintf(stderr, "convert_key: using TERMCAP entry %s...\r\n",672+ termname);673+674+ if (tgetent(tcaparea, termname) <= 0) {675+ errdsp2("Can't get termcap entry", termname);676+ return (1);677+ }678+679+ convert_getstrs(flg);680+681+ return (0);682}683#endif684#ifdef TERMINFO685int686-convert_getterm (termname, flg)687- char *termname;688- int flg;689-{690- int fd, rsl;691-692- if (flg)693- fprintf (stderr, "convert_key: using TERMINFO entry %s...\r\n", termname);694- fd = open ("/dev/null", O_WRONLY, 0);695- setupterm (termname, fd, &rsl);696- close (fd);697- if (rsl != 1)698- {699- errdsp2 ("Can't get terminfo entry", termname);700- /* ���ΤȤ�resetterm()��ɬ�פ��� */701- return (1);702- }703- convert_getstrs (flg);704- resetterm ();705- return (0);706+convert_getterm(char *termname,707+ int flg)708+{709+ int fd, rsl;710+711+ if (flg)712+ fprintf (stderr,713+ "convert_key: using TERMINFO entry %s...\r\n",714+ termname);715+716+ fd = open("/dev/null", O_WRONLY, 0);717+ setupterm(termname, fd, &rsl);718+ close (fd);719+720+ if (rsl != 1) {721+ errdsp2("Can't get terminfo entry", termname);722+ /* ���ΤȤ�resetterm()��ɬ�פ��� */723+ return (1);724+ }725+726+ convert_getstrs(flg);727+ resetterm();728+ return (0);729}730#endif731732- /** termcap/info�����ä������Υǡ������������ѥ��ꥢ�˼��ޤäƤ����733- ���ơ������Ȥä�convert_key�����ν�����롣���ͤ����ェλ��0��734- ɽ�ɤ߹�����Warning��ȯ��������1��Error�Ф����Ȥ�-1��*/735+/** termcap/info�����ä������Υǡ������������ѥ��ꥢ�˼��ޤäƤ����736+ ���ơ������Ȥä�convert_key�����ν�����롣���ͤ����ェλ��0��737+ ɽ�ɤ߹�����Warning��ȯ��������1��Error�Ф����Ȥ�-1��*/738int739-convert_key_setup (filename, flg)740- char *filename;741- int flg;742-{743- register int i;744- int c, d, cnt = 0, warn_occur = 0, entry_found;745- char name[ENTRY_LEN + 1];746-747- int keydef_code[ENTRY_CNT]; /* convert code */748-749- if (CHANGE_MAX < div_up (ENTRY_CNT, BITSIZ))750- {751- fprintf (stderr, "%s%s%d%s", "Sorry, please set CHANGE_MAX(in file ", "conv/cvt_head.h) larger than ", div_up (ENTRY_CNT, BITSIZ) - 1, ",\r\nand recompile.\r\n");752- return (-1);753- }754-755- for (i = 0; i < ENTRY_CNT; i++)756- keydef_code[i] = -1;757- /* code�� -1 �Τޤޤʤ顢convert_keyɽ�˥���ȥ꤬�ʤ����Ȥ��� */758-759- if (NULL != filename)760- convert_filename = filename;761- else762- {763- convert_filename = default_cvt_fn;764+convert_key_setup(char *filename,765+ int flg)766+{767+ register int i;768+ int c, d, cnt = 0, warn_occur = 0, entry_found;769+ char name[ENTRY_LEN + 1];770+771+ int keydef_code[ENTRY_CNT]; /* convert code */772+773+ if (CHANGE_MAX < div_up (ENTRY_CNT, BITSIZ)) {774+ fprintf (stderr, "%s%s%d%s",775+ "Sorry, please set CHANGE_MAX(in file ",776+ "conv/cvt_head.h) larger than ",777+ div_up (ENTRY_CNT, BITSIZ) - 1,778+ ",\r\nand recompile.\r\n");779+ return (-1);780+ }781+782+ for (i = 0; i < ENTRY_CNT; i++)783+ keydef_code[i] = -1;784+ /* code�� -1 �Τޤޤʤ顢convert_keyɽ�˥���ȥ꤬�ʤ����Ȥ��� */785+786+ if (NULL != filename)787+ convert_filename = filename;788+ else {789+ convert_filename = default_cvt_fn;790#ifdef WNNDEFAULT791- strcpy (convert_filename, LIBDIR); /* /usr/local/lib/wnn */792- strcat (convert_filename, CONVERT_FILENAME); /* /cvt_key_tbl */793+ strcpy(convert_filename, LIBDIR); /* /usr/local/lib/wnn */794+ strcat(convert_filename, CONVERT_FILENAME); /* /cvt_key_tbl */795#else796- strcpy (convert_filename, CONVERT_FILENAME);797+ strcpy(convert_filename, CONVERT_FILENAME);798#endif /* WNNDEFAULT */799- }800- if (flg)801- fprintf (stderr, "convert_key: using convert_key table %s...\r\n", convert_filename);802- if (NULL == (convert_hyo = fopen (convert_filename, "r")))803- {804+ }805+806+ if (flg)807+ fprintf (stderr, "convert_key: using convert_key table %s...\r\n",808+ convert_filename);809+810+ if (NULL == (convert_hyo = fopen(convert_filename, "r"))) {811#ifdef NOFILE_NOT_ABORT812- warn1 (convert_filename);813- cnv_tbl_cnt = 0;814- return (1);815+ warn1(convert_filename);816+ cnv_tbl_cnt = 0;817+ return (1);818#else819- errdsp1 ("Convert-table file is not found", convert_filename);820- return (-1);821+ errdsp1("Convert-table file is not found",822+ convert_filename);823+ return (-1);824#endif825- }826+ }827828- /* ɽ������ɤߤ��� */829- while (EOF != (d = getc (convert_hyo)))830- {831- if (d == '#' || d == ';')832- {833- /* '#'����';'�ǻϤޤ�Ԥ�����Ȥ����ɤ����Ф��� */834- linepass (convert_hyo);835- continue;836- }837- ungetc (d, convert_hyo);838-839- d = blank_ign_getc (convert_hyo);840- if (is_eofnl (d))841- continue; /* ���� */842- else843- ungetc (d, convert_hyo);844- if (!get_entrynm (name))845- {846- errdsp1 ("Entry name too long", convert_filename);847- fclose (convert_hyo);848- return (-1);849- } /* ����ȥ�̾���ɤ߹������ */850-851- d = blank_ign_getc (convert_hyo);852- if (is_eofnl (d))853- {854- errdsp1 ("Convert code missing", convert_filename);855- fclose (convert_hyo);856- return (-1);857- }858- else859- ungetc (d, convert_hyo);860- if (get_code (&c) != 0 || linepass (convert_hyo) != 0)861- {862- errdsp1 ("Convert code illegal", convert_filename);863- fclose (convert_hyo);864- return (-1);865- } /* �Ѵ������ɤ��ɤ߹������ */866+ /* ɽ������ɤߤ��� */867+ while (EOF != (d = getc(convert_hyo))) {868+ if (d == '#' || d == ';') {869+ /* '#'����';'�ǻϤޤ�Ԥ�����Ȥ����ɤ����Ф��� */870+ linepass(convert_hyo);871+ continue;872+ }873+874+ ungetc(d, convert_hyo);875+876+ d = blank_ign_getc(convert_hyo);877+878+ if (is_eofnl(d))879+ /* ���� */880+ continue;881+ else882+ ungetc(d, convert_hyo);883+884+ if (!get_entrynm(name)) {885+ errdsp1("Entry name too long",886+ convert_filename);887+ fclose(convert_hyo);888+ return (-1);889+ }890+ /* ����ȥ�̾���ɤ߹������ */891+892+ d = blank_ign_getc(convert_hyo);893+894+ if (is_eofnl(d)) {895+ errdsp1("Convert code missing",896+ convert_filename);897+ fclose (convert_hyo);898+ return (-1);899+ } else900+ ungetc(d, convert_hyo);901+902+ if (get_code(&c) != 0903+ || linepass(convert_hyo) != 0) {904+ errdsp1("Convert code illegal", convert_filename);905+ fclose(convert_hyo);906+ return (-1);907+ }908+ /* �Ѵ������ɤ��ɤ߹������ */909#ifdef DEBUG910- printf ("%s %d\n", name, c);911+ printf("%s %d\n", name, c);912#endif913- for (entry_found = i = 0; i < ENTRY_CNT; i++)914- {915- if (!strcmp (cvttbl_entry[i], name))916- {917- if (keydef_code[i] != -1)918- {919- warn2 (name, convert_filename);920- warn_occur = 1;921- }922- keydef_code[i] = c;923- entry_found = 1;924- break;925- }926- }927- if (!entry_found)928- {929- warn3 (name, convert_filename);930- warn_occur = 1;931- }932- }933-934- /* �ɤߤ�����ǡ�����ơ��֥�˥��å� */935- for (i = 0; i < ENTRY_CNT; i++)936- {937- if (keydef_key[i] != NULL)938- {939- if (keydef_code[i] != -1 && ((int) strlen (keydef_key[i]) > 1 || *keydef_key[i] != keydef_code[i]))940- {941- tbl[cnt].fromkey = keydef_key[i];942- tbl[cnt++].tokey = keydef_code[i];943- }944- }945- else if (keydef_code[i] != -1)946- {947- warn4 (cvttbl_entry[i], convert_filename, keydef_code[i]);948- warn_occur = 1;949- }950- }951-952- cnv_tbl_cnt = cnt;953- fclose (convert_hyo);954- if (flg)955- fprintf (stderr, "convert_key: finished setting up.\r\n");956- return (warn_occur);957-}958-959- /** convert_key����������롼����TERMINFO �ξ��� setupterm()��TERMCAP��960- ���� tgetent()�줾�쥳���뤷����˸Ƥ֡����ͤ�convert_key_setup961- ���ȡ�*/962+ for (entry_found = i = 0; i < ENTRY_CNT; i++) {963+ if (!strcmp(cvttbl_entry[i], name)) {964+ if (keydef_code[i] != -1) {965+ warn2(name, convert_filename);966+ warn_occur = 1;967+ }968+ keydef_code[i] = c;969+ entry_found = 1;970+ break;971+ }972+ }973+974+ if (!entry_found) {975+ warn3(name, convert_filename);976+ warn_occur = 1;977+ }978+ }979+980+ /* �ɤߤ�����ǡ�����ơ��֥�˥��å� */981+982+ for (i = 0; i < ENTRY_CNT; i++) {983+ if (keydef_key[i] != NULL) {984+ if (keydef_code[i] != -1985+ && ((int)strlen(keydef_key[i]) > 1986+ || *keydef_key[i] != keydef_code[i])) {987+ tbl[cnt].fromkey = keydef_key[i];988+ tbl[cnt++].tokey = keydef_code[i];989+ }990+ } else if (keydef_code[i] != -1) {991+ warn4 (cvttbl_entry[i], convert_filename, keydef_code[i]);992+ warn_occur = 1;993+ }994+ }995+996+ cnv_tbl_cnt = cnt;997+ fclose(convert_hyo);998+999+ if (flg)1000+ fprintf(stderr, "convert_key: finished setting up.\r\n");1001+1002+ return (warn_occur);1003+}1004+1005+/** convert_key����������롼����TERMINFO �ξ��� setupterm()��TERMCAP��1006+ ���� tgetent()�줾�쥳���뤷����˸Ƥ֡����ͤ�convert_key_setup1007+ ���ȡ�*/1008int1009-convert_key_init (filename, flg)1010- char *filename;1011- int flg;1012+convert_key_init (char *filename,1013+ int flg)1014{1015- convert_getstrs (flg);1016- return (convert_key_setup (filename, flg));1017+ convert_getstrs (flg);1018+ return (convert_key_setup (filename, flg));1019}10201021- /** TERMINFO �ξ��� setupterm()��TERMCAP�ξ��� tgetent()�ޤǴޤ�Ƽ¹�1022- convert_key����������롼�����֤��ͤ�convert_key_setup���ȡ�â����1023- termcap/info���ɤ߹��ߤ˼��Ԥ������ϡ�-2���֤롣*/1024+/** TERMINFO �ξ��� setupterm()��TERMCAP�ξ��� tgetent()�ޤǴޤ�Ƽ¹�1025+ convert_key����������롼�����֤��ͤ�convert_key_setup���ȡ�â����1026+ termcap/info���ɤ߹��ߤ˼��Ԥ������ϡ�-2���֤롣*/1027int1028-convert_getterm_init (termname, filename, flg)1029- char *termname, *filename;1030- int flg;1031-{1032- if (convert_getterm (termname, flg) != 0)1033- return (-2);1034- return (convert_key_setup (filename, flg));1035+convert_getterm_init (char *termname,1036+ char *filename,1037+ int flg)1038+{1039+ if (convert_getterm (termname, flg) != 0)1040+ return (-2);1041+1042+ return (convert_key_setup (filename, flg));1043}104410451046