don't forget to update configure.in too
[claws.git] / libkcc / setfunc.c
1 #include "kcc.h"
2
3 void (*outascii)(), (*outkanji)(), (*outgaiji)(), (*outkana)();
4
5 /**********************************************************************
6  *                                                                    *
7  *  Conversion Routines                                               *
8  *                                                                    *
9  **********************************************************************/
10 void Kcc_outchar();
11 void Kcc_jisascii(), Kcc_jiskanji(), Kcc_jisgaiji();
12 void Kcc_jiskana(), Kcc_jiskanak(), Kcc_jiskana8();
13 void Kcc_euckanji(), Kcc_eucgaiji(), Kcc_euckana();
14 void Kcc_sjiskanji(), Kcc_sjisgaiji(), Kcc_sjiskana();
15 void Kcc_decascii(), Kcc_deckanji(), Kcc_decgaiji(), Kcc_deckana();
16
17 /*---------------------------------------------------------------------
18     NAME
19         setfunc
20  ---------------------------------------------------------------------*/
21 void Kcc_setfunc(outcode)
22      unsigned outcode;
23 {
24     switch (outcode) {
25     case EUC:
26         outascii = Kcc_outchar;
27         outkanji = Kcc_euckanji;
28         outgaiji = Kcc_eucgaiji;
29         outkana = Kcc_euckana;
30         break;
31     case DEC:
32         outascii = Kcc_decascii;
33         outkanji = Kcc_deckanji;
34         outgaiji = Kcc_decgaiji;
35         outkana = Kcc_deckana;
36         break;
37     case SJIS:
38         outascii = Kcc_outchar;
39         outkanji = Kcc_sjiskanji;
40         outgaiji = Kcc_sjisgaiji;
41         outkana = Kcc_sjiskana;
42         break;
43     default:
44         outascii = Kcc_jisascii;
45         outkanji = Kcc_jiskanji;
46         outgaiji = Kcc_jisgaiji;
47         switch (outcode) {
48         case JIS:               /* mode:  M_ASCII M_KANJI M_GAIJI
49                                  * M_SO */
50             outkana = Kcc_jiskana;
51             break;
52         case JIS | ESCI:        /* mode:  M_ASCII M_KANJI M_GAIJI
53                                  * M_ESCI */
54             outkana = Kcc_jiskanak;
55             break;
56         case JIS | JIS8:        /* mode:  M_ASCII M_KANJI M_GAIJI */
57             outkana = Kcc_jiskana8;
58             break;
59         }
60         break;
61     }
62 }
63