Commit c7915bdffc630dfb65be0a08f2368c428f578c57
1 parent
909b81b4
Exists in
master
and in
5 other branches
Mais campos movidos para a estrutura de sessao
Showing
2 changed files
with
43 additions
and
40 deletions
Show diff stats
src/include/lib3270/session.h
src/lib3270/telnet.c
... | ... | @@ -177,12 +177,12 @@ Boolean local_process = False; |
177 | 177 | //#endif |
178 | 178 | |
179 | 179 | #if defined(X3270_ANSI) /*[*/ |
180 | -static int ansi_data = 0; | |
180 | +//static int ansi_data = 0; | |
181 | 181 | // static unsigned char *lbuf = (unsigned char *)NULL; |
182 | 182 | /* line-mode input buffer */ |
183 | 183 | // static unsigned char *lbptr; |
184 | -static int lnext = 0; | |
185 | -static int backslashed = 0; | |
184 | +// static int lnext = 0; | |
185 | +// static int backslashed = 0; | |
186 | 186 | static int t_valid = 0; |
187 | 187 | static char vintr; |
188 | 188 | static char vquit; |
... | ... | @@ -1007,7 +1007,7 @@ void net_input(H3270 *session) |
1007 | 1007 | */ |
1008 | 1008 | |
1009 | 1009 | #if defined(X3270_ANSI) /*[*/ |
1010 | - ansi_data = 0; | |
1010 | + session->ansi_data = 0; | |
1011 | 1011 | #endif /*]*/ |
1012 | 1012 | |
1013 | 1013 | #if defined(_WIN32) |
... | ... | @@ -1107,10 +1107,10 @@ void net_input(H3270 *session) |
1107 | 1107 | (void) ctlr_dbcs_postprocess(); |
1108 | 1108 | } |
1109 | 1109 | |
1110 | - if (ansi_data) | |
1110 | + if (session->ansi_data) | |
1111 | 1111 | { |
1112 | 1112 | trace_dsn("\n"); |
1113 | - ansi_data = 0; | |
1113 | + session->ansi_data = 0; | |
1114 | 1114 | } |
1115 | 1115 | #endif // X3270_ANSI |
1116 | 1116 | |
... | ... | @@ -1187,9 +1187,9 @@ static int telnet_fsm(H3270 *session, unsigned char c) |
1187 | 1187 | if (c == IAC) { /* got a telnet command */ |
1188 | 1188 | session->telnet_state = TNS_IAC; |
1189 | 1189 | #if defined(X3270_ANSI) /*[*/ |
1190 | - if (ansi_data) { | |
1190 | + if (session->ansi_data) { | |
1191 | 1191 | trace_dsn("\n"); |
1192 | - ansi_data = 0; | |
1192 | + session->ansi_data = 0; | |
1193 | 1193 | } |
1194 | 1194 | #endif /*]*/ |
1195 | 1195 | break; |
... | ... | @@ -1206,15 +1206,15 @@ static int telnet_fsm(H3270 *session, unsigned char c) |
1206 | 1206 | } |
1207 | 1207 | if (IN_ANSI && !IN_E) { |
1208 | 1208 | #if defined(X3270_ANSI) /*[*/ |
1209 | - if (!ansi_data) { | |
1209 | + if (!session->ansi_data) { | |
1210 | 1210 | trace_dsn("<.. "); |
1211 | - ansi_data = 4; | |
1211 | + session->ansi_data = 4; | |
1212 | 1212 | } |
1213 | 1213 | see_chr = ctl_see((int) c); |
1214 | - ansi_data += (sl = strlen(see_chr)); | |
1215 | - if (ansi_data >= TRACELINE) { | |
1214 | + session->ansi_data += (sl = strlen(see_chr)); | |
1215 | + if (session->ansi_data >= TRACELINE) { | |
1216 | 1216 | trace_dsn(" ...\n... "); |
1217 | - ansi_data = 4 + sl; | |
1217 | + session->ansi_data = 4 + sl; | |
1218 | 1218 | } |
1219 | 1219 | trace_dsn("%s",see_chr); |
1220 | 1220 | if (!session->syncing) |
... | ... | @@ -1237,15 +1237,15 @@ static int telnet_fsm(H3270 *session, unsigned char c) |
1237 | 1237 | case IAC: /* escaped IAC, insert it */ |
1238 | 1238 | if (IN_ANSI && !IN_E) { |
1239 | 1239 | #if defined(X3270_ANSI) /*[*/ |
1240 | - if (!ansi_data) { | |
1240 | + if (!session->ansi_data) { | |
1241 | 1241 | trace_dsn("<.. "); |
1242 | - ansi_data = 4; | |
1242 | + session->ansi_data = 4; | |
1243 | 1243 | } |
1244 | 1244 | see_chr = ctl_see((int) c); |
1245 | - ansi_data += (sl = strlen(see_chr)); | |
1246 | - if (ansi_data >= TRACELINE) { | |
1245 | + session->ansi_data += (sl = strlen(see_chr)); | |
1246 | + if (session->ansi_data >= TRACELINE) { | |
1247 | 1247 | trace_dsn(" ...\n ..."); |
1248 | - ansi_data = 4 + sl; | |
1248 | + session->ansi_data = 4 + sl; | |
1249 | 1249 | } |
1250 | 1250 | trace_dsn("%s",see_chr); |
1251 | 1251 | ansi_process((unsigned int) c); |
... | ... | @@ -2148,16 +2148,16 @@ static void net_cookout(H3270 *hSession, const char *buf, int len) |
2148 | 2148 | c = buf[i]; |
2149 | 2149 | |
2150 | 2150 | /* Input conversions. */ |
2151 | - if (!lnext && c == '\r' && hSession->icrnl) | |
2151 | + if (!hSession->lnext && c == '\r' && hSession->icrnl) | |
2152 | 2152 | c = '\n'; |
2153 | - else if (!lnext && c == '\n' && hSession->inlcr) | |
2153 | + else if (!hSession->lnext && c == '\n' && hSession->inlcr) | |
2154 | 2154 | c = '\r'; |
2155 | 2155 | |
2156 | 2156 | /* Backslashes. */ |
2157 | - if (c == '\\' && !backslashed) | |
2158 | - backslashed = 1; | |
2157 | + if (c == '\\' && !hSession->backslashed) | |
2158 | + hSession->backslashed = 1; | |
2159 | 2159 | else |
2160 | - backslashed = 0; | |
2160 | + hSession->backslashed = 0; | |
2161 | 2161 | |
2162 | 2162 | /* Control chars. */ |
2163 | 2163 | if (c == '\n') |
... | ... | @@ -2199,8 +2199,8 @@ cooked_init(void) |
2199 | 2199 | if (h3270.lbuf == (unsigned char *)NULL) |
2200 | 2200 | h3270.lbuf = (unsigned char *)lib3270_malloc(BUFSZ); |
2201 | 2201 | h3270.lbptr = h3270.lbuf; |
2202 | - lnext = 0; | |
2203 | - backslashed = 0; | |
2202 | + h3270.lnext = 0; | |
2203 | + h3270.backslashed = 0; | |
2204 | 2204 | } |
2205 | 2205 | |
2206 | 2206 | static void |
... | ... | @@ -2230,14 +2230,14 @@ do_data(char c) |
2230 | 2230 | ansi_process_s(ctl_see((int) c)); |
2231 | 2231 | } else |
2232 | 2232 | ansi_process_s("\007"); |
2233 | - lnext = 0; | |
2234 | - backslashed = 0; | |
2233 | + h3270.lnext = 0; | |
2234 | + h3270.backslashed = 0; | |
2235 | 2235 | } |
2236 | 2236 | |
2237 | 2237 | static void |
2238 | 2238 | do_intr(char c) |
2239 | 2239 | { |
2240 | - if (lnext) { | |
2240 | + if (h3270.lnext) { | |
2241 | 2241 | do_data(c); |
2242 | 2242 | return; |
2243 | 2243 | } |
... | ... | @@ -2249,7 +2249,7 @@ do_intr(char c) |
2249 | 2249 | static void |
2250 | 2250 | do_quit(char c) |
2251 | 2251 | { |
2252 | - if (lnext) { | |
2252 | + if (h3270.lnext) { | |
2253 | 2253 | do_data(c); |
2254 | 2254 | return; |
2255 | 2255 | } |
... | ... | @@ -2263,13 +2263,13 @@ do_cerase(char c) |
2263 | 2263 | { |
2264 | 2264 | int len; |
2265 | 2265 | |
2266 | - if (backslashed) { | |
2266 | + if (h3270.backslashed) { | |
2267 | 2267 | h3270.lbptr--; |
2268 | 2268 | ansi_process_s("\b"); |
2269 | 2269 | do_data(c); |
2270 | 2270 | return; |
2271 | 2271 | } |
2272 | - if (lnext) { | |
2272 | + if (h3270.lnext) { | |
2273 | 2273 | do_data(c); |
2274 | 2274 | return; |
2275 | 2275 | } |
... | ... | @@ -2287,7 +2287,7 @@ do_werase(char c) |
2287 | 2287 | int any = 0; |
2288 | 2288 | int len; |
2289 | 2289 | |
2290 | - if (lnext) { | |
2290 | + if (h3270.lnext) { | |
2291 | 2291 | do_data(c); |
2292 | 2292 | return; |
2293 | 2293 | } |
... | ... | @@ -2315,13 +2315,13 @@ do_kill(char c) |
2315 | 2315 | { |
2316 | 2316 | int i, len; |
2317 | 2317 | |
2318 | - if (backslashed) { | |
2318 | + if (h3270.backslashed) { | |
2319 | 2319 | h3270.lbptr--; |
2320 | 2320 | ansi_process_s("\b"); |
2321 | 2321 | do_data(c); |
2322 | 2322 | return; |
2323 | 2323 | } |
2324 | - if (lnext) { | |
2324 | + if (h3270.lnext) { | |
2325 | 2325 | do_data(c); |
2326 | 2326 | return; |
2327 | 2327 | } |
... | ... | @@ -2338,7 +2338,7 @@ do_rprnt(char c) |
2338 | 2338 | { |
2339 | 2339 | unsigned char *p; |
2340 | 2340 | |
2341 | - if (lnext) { | |
2341 | + if (h3270.lnext) { | |
2342 | 2342 | do_data(c); |
2343 | 2343 | return; |
2344 | 2344 | } |
... | ... | @@ -2351,13 +2351,13 @@ do_rprnt(char c) |
2351 | 2351 | static void |
2352 | 2352 | do_eof(char c) |
2353 | 2353 | { |
2354 | - if (backslashed) { | |
2354 | + if (h3270.backslashed) { | |
2355 | 2355 | h3270.lbptr--; |
2356 | 2356 | ansi_process_s("\b"); |
2357 | 2357 | do_data(c); |
2358 | 2358 | return; |
2359 | 2359 | } |
2360 | - if (lnext) { | |
2360 | + if (h3270.lnext) { | |
2361 | 2361 | do_data(c); |
2362 | 2362 | return; |
2363 | 2363 | } |
... | ... | @@ -2368,7 +2368,7 @@ do_eof(char c) |
2368 | 2368 | static void |
2369 | 2369 | do_eol(char c) |
2370 | 2370 | { |
2371 | - if (lnext) { | |
2371 | + if (h3270.lnext) { | |
2372 | 2372 | do_data(c); |
2373 | 2373 | return; |
2374 | 2374 | } |
... | ... | @@ -2385,11 +2385,11 @@ do_eol(char c) |
2385 | 2385 | static void |
2386 | 2386 | do_lnext(char c) |
2387 | 2387 | { |
2388 | - if (lnext) { | |
2388 | + if (h3270.lnext) { | |
2389 | 2389 | do_data(c); |
2390 | 2390 | return; |
2391 | 2391 | } |
2392 | - lnext = 1; | |
2392 | + h3270.lnext = 1; | |
2393 | 2393 | ansi_process_s("^\b"); |
2394 | 2394 | } |
2395 | 2395 | #endif /*]*/ | ... | ... |