Commit 6717c333fe340488363c00c75bf6da8715328d14
1 parent
76e230f5
Exists in
master
and in
3 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
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 | } | ... | ... |
| 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 | } | ... | ... |
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 | } | ... | ... |