Commit 9b7cff165247d35005147075719624451905cf29

Authored by perry.werneck@gmail.com
1 parent c29f3eb1

Removendo mais conversões utf-8 da lib, função passa a ser da gui

src/lib3270/ansi.c
@@ -1215,12 +1215,12 @@ ansi_multibyte(int ig1, int ig2) @@ -1215,12 +1215,12 @@ ansi_multibyte(int ig1, int ig2)
1215 1215
1216 ch = utf8_lookup(mbs, &fail, NULL); 1216 ch = utf8_lookup(mbs, &fail, NULL);
1217 if (ch != 0) { 1217 if (ch != 0) {
1218 - /* Success! */ 1218 + // Success!
1219 ansi_ch = ch; 1219 ansi_ch = ch;
1220 return ansi_printing(ig1, ig2); 1220 return ansi_printing(ig1, ig2);
1221 } 1221 }
1222 if (fail == ULFAIL_INCOMPLETE) { 1222 if (fail == ULFAIL_INCOMPLETE) {
1223 - /* Go get more. */ 1223 + // Go get more.
1224 pending_mbs[pmi++] = (char)ansi_ch; 1224 pending_mbs[pmi++] = (char)ansi_ch;
1225 return MBPEND; 1225 return MBPEND;
1226 } 1226 }
src/lib3270/see.c
1 -/* 1 +/*
2 * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 2 * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
3 * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a 3 * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
4 * aplicativos mainframe. Registro no INPI sob o nome G3270. 4 * aplicativos mainframe. Registro no INPI sob o nome G3270.
5 - * 5 + *
6 * Copyright (C) <2008> <Banco do Brasil S.A.> 6 * Copyright (C) <2008> <Banco do Brasil S.A.>
7 - * 7 + *
8 * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob 8 * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
9 * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela 9 * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
10 * Free Software Foundation. 10 * Free Software Foundation.
11 - * 11 + *
12 * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER 12 * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
13 * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO 13 * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
14 * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para 14 * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
15 * obter mais detalhes. 15 * obter mais detalhes.
16 - * 16 + *
17 * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este 17 * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
18 * programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple 18 * programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple
19 * Place, Suite 330, Boston, MA, 02111-1307, USA 19 * Place, Suite 330, Boston, MA, 02111-1307, USA
20 - * 20 + *
21 * Este programa está nomeado como see.c e possui 489 linhas de código. 21 * Este programa está nomeado como see.c e possui 489 linhas de código.
22 - *  
23 - * Contatos:  
24 - * 22 + *
  23 + * Contatos:
  24 + *
25 * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) 25 * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
26 * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) 26 * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
27 * licinio@bb.com.br (Licínio Luis Branco) 27 * licinio@bb.com.br (Licínio Luis Branco)
@@ -90,16 +90,24 @@ see_ebc(unsigned char ch) @@ -90,16 +90,24 @@ see_ebc(unsigned char ch)
90 case FCORDER_SO: 90 case FCORDER_SO:
91 return "SO"; 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 if (ebc2asc[ch]) 100 if (ebc2asc[ch])
94 (void) sprintf(buf, 101 (void) sprintf(buf,
95 -#if !defined(PR3287) /*[*/ 102 +#if !defined(PR3287)
96 "%s", utf8_expand(ebc2asc[ch]) 103 "%s", utf8_expand(ebc2asc[ch])
97 -#else /*][*/ 104 +#else
98 "%c", ebc2asc[ch] 105 "%c", ebc2asc[ch]
99 -#endif /*]*/ 106 +#endif
100 ); 107 );
101 else 108 else
102 (void) sprintf(buf, "\\%o", ch); 109 (void) sprintf(buf, "\\%o", ch);
  110 +*/
103 return buf; 111 return buf;
104 } 112 }
105 113
@@ -107,77 +115,77 @@ const char * @@ -107,77 +115,77 @@ const char *
107 see_aid(unsigned char code) 115 see_aid(unsigned char code)
108 { 116 {
109 switch (code) { 117 switch (code) {
110 - case AID_NO: 118 + case AID_NO:
111 return "NoAID"; 119 return "NoAID";
112 - case AID_ENTER: 120 + case AID_ENTER:
113 return "Enter"; 121 return "Enter";
114 - case AID_PF1: 122 + case AID_PF1:
115 return "PF1"; 123 return "PF1";
116 - case AID_PF2: 124 + case AID_PF2:
117 return "PF2"; 125 return "PF2";
118 - case AID_PF3: 126 + case AID_PF3:
119 return "PF3"; 127 return "PF3";
120 - case AID_PF4: 128 + case AID_PF4:
121 return "PF4"; 129 return "PF4";
122 - case AID_PF5: 130 + case AID_PF5:
123 return "PF5"; 131 return "PF5";
124 - case AID_PF6: 132 + case AID_PF6:
125 return "PF6"; 133 return "PF6";
126 - case AID_PF7: 134 + case AID_PF7:
127 return "PF7"; 135 return "PF7";
128 - case AID_PF8: 136 + case AID_PF8:
129 return "PF8"; 137 return "PF8";
130 - case AID_PF9: 138 + case AID_PF9:
131 return "PF9"; 139 return "PF9";
132 - case AID_PF10: 140 + case AID_PF10:
133 return "PF10"; 141 return "PF10";
134 - case AID_PF11: 142 + case AID_PF11:
135 return "PF11"; 143 return "PF11";
136 - case AID_PF12: 144 + case AID_PF12:
137 return "PF12"; 145 return "PF12";
138 - case AID_PF13: 146 + case AID_PF13:
139 return "PF13"; 147 return "PF13";
140 - case AID_PF14: 148 + case AID_PF14:
141 return "PF14"; 149 return "PF14";
142 - case AID_PF15: 150 + case AID_PF15:
143 return "PF15"; 151 return "PF15";
144 - case AID_PF16: 152 + case AID_PF16:
145 return "PF16"; 153 return "PF16";
146 - case AID_PF17: 154 + case AID_PF17:
147 return "PF17"; 155 return "PF17";
148 - case AID_PF18: 156 + case AID_PF18:
149 return "PF18"; 157 return "PF18";
150 - case AID_PF19: 158 + case AID_PF19:
151 return "PF19"; 159 return "PF19";
152 - case AID_PF20: 160 + case AID_PF20:
153 return "PF20"; 161 return "PF20";
154 - case AID_PF21: 162 + case AID_PF21:
155 return "PF21"; 163 return "PF21";
156 - case AID_PF22: 164 + case AID_PF22:
157 return "PF22"; 165 return "PF22";
158 - case AID_PF23: 166 + case AID_PF23:
159 return "PF23"; 167 return "PF23";
160 - case AID_PF24: 168 + case AID_PF24:
161 return "PF24"; 169 return "PF24";
162 - case AID_OICR: 170 + case AID_OICR:
163 return "OICR"; 171 return "OICR";
164 - case AID_MSR_MHS: 172 + case AID_MSR_MHS:
165 return "MSR_MHS"; 173 return "MSR_MHS";
166 - case AID_SELECT: 174 + case AID_SELECT:
167 return "Select"; 175 return "Select";
168 - case AID_PA1: 176 + case AID_PA1:
169 return "PA1"; 177 return "PA1";
170 - case AID_PA2: 178 + case AID_PA2:
171 return "PA2"; 179 return "PA2";
172 - case AID_PA3: 180 + case AID_PA3:
173 return "PA3"; 181 return "PA3";
174 - case AID_CLEAR: 182 + case AID_CLEAR:
175 return "Clear"; 183 return "Clear";
176 - case AID_SYSREQ: 184 + case AID_SYSREQ:
177 return "SysReq"; 185 return "SysReq";
178 case AID_QREPLY: 186 case AID_QREPLY:
179 return "QueryReplyAID"; 187 return "QueryReplyAID";
180 - default: 188 + default:
181 return unknown(code); 189 return unknown(code);
182 } 190 }
183 } 191 }
src/lib3270/utf8.c
@@ -42,9 +42,10 @@ @@ -42,9 +42,10 @@
42 #include "popupsc.h" 42 #include "popupsc.h"
43 #include "utf8c.h" 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 // static Boolean is_utf8 = False; 49 // static Boolean is_utf8 = False;
49 #if defined(X3270_DBCS) /*[*/ 50 #if defined(X3270_DBCS) /*[*/
50 static Boolean is_gb18030 = False; 51 static Boolean is_gb18030 = False;
@@ -452,33 +453,38 @@ utf8_set_display_charsets(char *cslist, char *csname) @@ -452,33 +453,38 @@ utf8_set_display_charsets(char *cslist, char *csname)
452 } 453 }
453 */ 454 */
454 /* Expand an 8-bit character in the 'implied' character set. */ 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 if (c >= 0xa0) 465 if (c >= 0xa0)
463 return utf8_tab[utf8_ix][c - 0xa0]; 466 return utf8_tab[utf8_ix][c - 0xa0];
464 else 467 else
465 return " "; 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 nox[0] = c; 483 nox[0] = c;
479 nox[1] = '\0'; 484 nox[1] = '\0';
480 return nox; 485 return nox;
481 } 486 }
  487 +*/
482 488
483 /* 489 /*
484 * Look up a multi-byte UTF-8 string and return its value in the 'implied' 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,34 +493,45 @@ utf8_expand(unsigned char c)
487 */ 493 */
488 unsigned char utf8_lookup(char *mbs, enum ulfail *fail, int *consumed) 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 int mblen = strlen(mbs); 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 if (tlen == 1) 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 if (fail != NULL) 521 if (fail != NULL)
508 *fail = ULFAIL_INCOMPLETE; 522 *fail = ULFAIL_INCOMPLETE;
509 return 0; 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 if (fail != NULL) 533 if (fail != NULL)
518 - *fail = ULFAIL_INVALID; 534 + *fail = ULFAIL_INVALID;
  535 +*/
519 return 0; 536 return 0;
520 } 537 }