Commit 9b7cff165247d35005147075719624451905cf29
1 parent
c29f3eb1
Exists in
master
and in
5 other branches
Removendo mais conversões utf-8 da lib, função passa a ser da gui
Showing
3 changed files
with
107 additions
and
82 deletions
Show diff stats
src/lib3270/ansi.c
... | ... | @@ -1215,12 +1215,12 @@ ansi_multibyte(int ig1, int ig2) |
1215 | 1215 | |
1216 | 1216 | ch = utf8_lookup(mbs, &fail, NULL); |
1217 | 1217 | if (ch != 0) { |
1218 | - /* Success! */ | |
1218 | + // Success! | |
1219 | 1219 | ansi_ch = ch; |
1220 | 1220 | return ansi_printing(ig1, ig2); |
1221 | 1221 | } |
1222 | 1222 | if (fail == ULFAIL_INCOMPLETE) { |
1223 | - /* Go get more. */ | |
1223 | + // Go get more. | |
1224 | 1224 | pending_mbs[pmi++] = (char)ansi_ch; |
1225 | 1225 | return MBPEND; |
1226 | 1226 | } | ... | ... |
src/lib3270/see.c
1 | -/* | |
1 | +/* | |
2 | 2 | * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 |
3 | 3 | * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a |
4 | 4 | * aplicativos mainframe. Registro no INPI sob o nome G3270. |
5 | - * | |
5 | + * | |
6 | 6 | * Copyright (C) <2008> <Banco do Brasil S.A.> |
7 | - * | |
7 | + * | |
8 | 8 | * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob |
9 | 9 | * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela |
10 | 10 | * Free Software Foundation. |
11 | - * | |
11 | + * | |
12 | 12 | * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER |
13 | 13 | * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO |
14 | 14 | * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para |
15 | 15 | * obter mais detalhes. |
16 | - * | |
16 | + * | |
17 | 17 | * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este |
18 | 18 | * programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple |
19 | 19 | * Place, Suite 330, Boston, MA, 02111-1307, USA |
20 | - * | |
20 | + * | |
21 | 21 | * Este programa está nomeado como see.c e possui 489 linhas de código. |
22 | - * | |
23 | - * Contatos: | |
24 | - * | |
22 | + * | |
23 | + * Contatos: | |
24 | + * | |
25 | 25 | * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) |
26 | 26 | * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) |
27 | 27 | * licinio@bb.com.br (Licínio Luis Branco) |
... | ... | @@ -90,16 +90,24 @@ see_ebc(unsigned char ch) |
90 | 90 | case FCORDER_SO: |
91 | 91 | return "SO"; |
92 | 92 | } |
93 | + | |
94 | + if (ebc2asc[ch]) | |
95 | + (void) sprintf(buf,"%c", ebc2asc[ch]); | |
96 | + else | |
97 | + (void) sprintf(buf, "\\%o", ch); | |
98 | + | |
99 | +/* | |
93 | 100 | if (ebc2asc[ch]) |
94 | 101 | (void) sprintf(buf, |
95 | -#if !defined(PR3287) /*[*/ | |
102 | +#if !defined(PR3287) | |
96 | 103 | "%s", utf8_expand(ebc2asc[ch]) |
97 | -#else /*][*/ | |
104 | +#else | |
98 | 105 | "%c", ebc2asc[ch] |
99 | -#endif /*]*/ | |
106 | +#endif | |
100 | 107 | ); |
101 | 108 | else |
102 | 109 | (void) sprintf(buf, "\\%o", ch); |
110 | +*/ | |
103 | 111 | return buf; |
104 | 112 | } |
105 | 113 | |
... | ... | @@ -107,77 +115,77 @@ const char * |
107 | 115 | see_aid(unsigned char code) |
108 | 116 | { |
109 | 117 | switch (code) { |
110 | - case AID_NO: | |
118 | + case AID_NO: | |
111 | 119 | return "NoAID"; |
112 | - case AID_ENTER: | |
120 | + case AID_ENTER: | |
113 | 121 | return "Enter"; |
114 | - case AID_PF1: | |
122 | + case AID_PF1: | |
115 | 123 | return "PF1"; |
116 | - case AID_PF2: | |
124 | + case AID_PF2: | |
117 | 125 | return "PF2"; |
118 | - case AID_PF3: | |
126 | + case AID_PF3: | |
119 | 127 | return "PF3"; |
120 | - case AID_PF4: | |
128 | + case AID_PF4: | |
121 | 129 | return "PF4"; |
122 | - case AID_PF5: | |
130 | + case AID_PF5: | |
123 | 131 | return "PF5"; |
124 | - case AID_PF6: | |
132 | + case AID_PF6: | |
125 | 133 | return "PF6"; |
126 | - case AID_PF7: | |
134 | + case AID_PF7: | |
127 | 135 | return "PF7"; |
128 | - case AID_PF8: | |
136 | + case AID_PF8: | |
129 | 137 | return "PF8"; |
130 | - case AID_PF9: | |
138 | + case AID_PF9: | |
131 | 139 | return "PF9"; |
132 | - case AID_PF10: | |
140 | + case AID_PF10: | |
133 | 141 | return "PF10"; |
134 | - case AID_PF11: | |
142 | + case AID_PF11: | |
135 | 143 | return "PF11"; |
136 | - case AID_PF12: | |
144 | + case AID_PF12: | |
137 | 145 | return "PF12"; |
138 | - case AID_PF13: | |
146 | + case AID_PF13: | |
139 | 147 | return "PF13"; |
140 | - case AID_PF14: | |
148 | + case AID_PF14: | |
141 | 149 | return "PF14"; |
142 | - case AID_PF15: | |
150 | + case AID_PF15: | |
143 | 151 | return "PF15"; |
144 | - case AID_PF16: | |
152 | + case AID_PF16: | |
145 | 153 | return "PF16"; |
146 | - case AID_PF17: | |
154 | + case AID_PF17: | |
147 | 155 | return "PF17"; |
148 | - case AID_PF18: | |
156 | + case AID_PF18: | |
149 | 157 | return "PF18"; |
150 | - case AID_PF19: | |
158 | + case AID_PF19: | |
151 | 159 | return "PF19"; |
152 | - case AID_PF20: | |
160 | + case AID_PF20: | |
153 | 161 | return "PF20"; |
154 | - case AID_PF21: | |
162 | + case AID_PF21: | |
155 | 163 | return "PF21"; |
156 | - case AID_PF22: | |
164 | + case AID_PF22: | |
157 | 165 | return "PF22"; |
158 | - case AID_PF23: | |
166 | + case AID_PF23: | |
159 | 167 | return "PF23"; |
160 | - case AID_PF24: | |
168 | + case AID_PF24: | |
161 | 169 | return "PF24"; |
162 | - case AID_OICR: | |
170 | + case AID_OICR: | |
163 | 171 | return "OICR"; |
164 | - case AID_MSR_MHS: | |
172 | + case AID_MSR_MHS: | |
165 | 173 | return "MSR_MHS"; |
166 | - case AID_SELECT: | |
174 | + case AID_SELECT: | |
167 | 175 | return "Select"; |
168 | - case AID_PA1: | |
176 | + case AID_PA1: | |
169 | 177 | return "PA1"; |
170 | - case AID_PA2: | |
178 | + case AID_PA2: | |
171 | 179 | return "PA2"; |
172 | - case AID_PA3: | |
180 | + case AID_PA3: | |
173 | 181 | return "PA3"; |
174 | - case AID_CLEAR: | |
182 | + case AID_CLEAR: | |
175 | 183 | return "Clear"; |
176 | - case AID_SYSREQ: | |
184 | + case AID_SYSREQ: | |
177 | 185 | return "SysReq"; |
178 | 186 | case AID_QREPLY: |
179 | 187 | return "QueryReplyAID"; |
180 | - default: | |
188 | + default: | |
181 | 189 | return unknown(code); |
182 | 190 | } |
183 | 191 | } | ... | ... |
src/lib3270/utf8.c
... | ... | @@ -42,9 +42,10 @@ |
42 | 42 | #include "popupsc.h" |
43 | 43 | #include "utf8c.h" |
44 | 44 | |
45 | -char *locale_codeset = CN; | |
45 | +// char *locale_codeset = CN; | |
46 | + | |
47 | +// static int utf8_ix = -1; | |
46 | 48 | |
47 | -static int utf8_ix = -1; | |
48 | 49 | // static Boolean is_utf8 = False; |
49 | 50 | #if defined(X3270_DBCS) /*[*/ |
50 | 51 | static Boolean is_gb18030 = False; |
... | ... | @@ -452,33 +453,38 @@ utf8_set_display_charsets(char *cslist, char *csname) |
452 | 453 | } |
453 | 454 | */ |
454 | 455 | /* Expand an 8-bit character in the 'implied' character set. */ |
455 | -char * | |
456 | -utf8_expand(unsigned char c) | |
456 | +/* | |
457 | +char * utf8_expand(unsigned char c) | |
457 | 458 | { |
458 | - static char nox[2]; | |
459 | + static char nox[2]; | |
459 | 460 | |
460 | - if (c & 0x80) { | |
461 | - if (utf8_ix >= 0) { | |
461 | + if (c & 0x80) | |
462 | + { | |
463 | + if (utf8_ix >= 0) | |
464 | + { | |
462 | 465 | if (c >= 0xa0) |
463 | 466 | return utf8_tab[utf8_ix][c - 0xa0]; |
464 | 467 | else |
465 | 468 | return " "; |
466 | -#if defined(X3270_DBCS) /*[*/ | |
467 | - } else if (dbcs) { | |
468 | - /* | |
469 | - * GB18030 it treated as a special case of UTF-8, | |
470 | - * above. GB2312 does not support these characters. | |
471 | - * Other DBCS encodings will need to be added as they | |
472 | - * are better understood. | |
473 | - */ | |
474 | - return " "; | |
475 | -#endif /*]*/ | |
476 | 469 | } |
470 | +#if defined(X3270_DBCS) | |
471 | + else if (dbcs) | |
472 | + { | |
473 | + // | |
474 | + // GB18030 it treated as a special case of UTF-8, | |
475 | + // above. GB2312 does not support these characters. | |
476 | + // Other DBCS encodings will need to be added as they | |
477 | + // are better understood. | |
478 | + // | |
479 | + return " "; | |
480 | + } | |
481 | +#endif | |
477 | 482 | } |
478 | 483 | nox[0] = c; |
479 | 484 | nox[1] = '\0'; |
480 | 485 | return nox; |
481 | 486 | } |
487 | +*/ | |
482 | 488 | |
483 | 489 | /* |
484 | 490 | * Look up a multi-byte UTF-8 string and return its value in the 'implied' |
... | ... | @@ -487,34 +493,45 @@ utf8_expand(unsigned char c) |
487 | 493 | */ |
488 | 494 | unsigned char utf8_lookup(char *mbs, enum ulfail *fail, int *consumed) |
489 | 495 | { |
490 | - int i; | |
496 | + if (fail != NULL) | |
497 | + *fail = ULFAIL_NOUTF8; | |
498 | + | |
499 | +/* | |
500 | + int i; | |
491 | 501 | int mblen = strlen(mbs); |
492 | 502 | |
493 | - if (utf8_ix < 0) { | |
494 | - if (fail != NULL) | |
495 | - *fail = ULFAIL_NOUTF8; | |
496 | - return 0; | |
503 | + if (utf8_ix < 0) | |
504 | + { | |
505 | + if (fail != NULL) | |
506 | + *fail = ULFAIL_NOUTF8; | |
507 | + return 0; | |
497 | 508 | } |
498 | - for (i = 0; i < HI_SIZE; i++) { | |
499 | - int tlen = strlen(utf8_tab[utf8_ix][i]); | |
500 | 509 | |
501 | - /* Check for dummy " " entry. */ | |
510 | + for (i = 0; i < HI_SIZE; i++) | |
511 | + { | |
512 | + int tlen = strlen(utf8_tab[utf8_ix][i]); | |
513 | + | |
514 | + // Check for dummy " " entry. | |
502 | 515 | if (tlen == 1) |
503 | - continue; | |
516 | + continue; | |
504 | 517 | |
505 | - /* Check for incomplete string. */ | |
506 | - if (mblen < tlen) { | |
518 | + // Check for incomplete string. | |
519 | + if (mblen < tlen) | |
520 | + { | |
507 | 521 | if (fail != NULL) |
508 | 522 | *fail = ULFAIL_INCOMPLETE; |
509 | 523 | return 0; |
510 | 524 | } |
511 | - if (!strncmp(mbs, utf8_tab[utf8_ix][i], tlen)) { | |
512 | - if (consumed != NULL) | |
513 | - *consumed = tlen; | |
514 | - return 0xa0 + i; | |
525 | + | |
526 | + if (!strncmp(mbs, utf8_tab[utf8_ix][i], tlen)) | |
527 | + { | |
528 | + if (consumed != NULL) | |
529 | + *consumed = tlen; | |
530 | + return 0xa0 + i; | |
515 | 531 | } |
516 | 532 | } |
517 | 533 | if (fail != NULL) |
518 | - *fail = ULFAIL_INVALID; | |
534 | + *fail = ULFAIL_INVALID; | |
535 | +*/ | |
519 | 536 | return 0; |
520 | 537 | } | ... | ... |