Commit 7dde44a8f00377b204c949f8a777d2016cb3d992
1 parent
8cd61b1e
Exists in
master
and in
5 other branches
Movendo flag "linemode" para a estrutura de sessao
Showing
3 changed files
with
14 additions
and
12 deletions
Show diff stats
src/include/lib3270/session.h
src/lib3270/session.c
src/lib3270/telnet.c
... | ... | @@ -123,7 +123,7 @@ int ns_bsent; |
123 | 123 | int ns_rsent; |
124 | 124 | // unsigned char *obuf; /* 3270 output buffer */ |
125 | 125 | // unsigned char *obptr = (unsigned char *) NULL; |
126 | -int linemode = 1; | |
126 | +//int linemode = 1; | |
127 | 127 | |
128 | 128 | /* |
129 | 129 | #if defined(LOCAL_PROCESS) |
... | ... | @@ -1187,7 +1187,7 @@ static int telnet_fsm(H3270 *session, unsigned char c) |
1187 | 1187 | } |
1188 | 1188 | if (IN_NEITHER) { /* now can assume ANSI mode */ |
1189 | 1189 | #if defined(X3270_ANSI)/*[*/ |
1190 | - if (linemode) | |
1190 | + if (session->linemode) | |
1191 | 1191 | cooked_init(); |
1192 | 1192 | #endif /*]*/ |
1193 | 1193 | host_in3270(session,CONNECTED_ANSI); |
... | ... | @@ -1210,7 +1210,7 @@ static int telnet_fsm(H3270 *session, unsigned char c) |
1210 | 1210 | trace_dsn("%s",see_chr); |
1211 | 1211 | if (!session->syncing) |
1212 | 1212 | { |
1213 | - if (linemode && session->onlcr && c == '\n') | |
1213 | + if (session->linemode && session->onlcr && c == '\n') | |
1214 | 1214 | ansi_process((unsigned int) '\r'); |
1215 | 1215 | ansi_process((unsigned int) c); |
1216 | 1216 | // sms_store(c); |
... | ... | @@ -2133,7 +2133,7 @@ static void net_cookout(H3270 *hSession, const char *buf, int len) |
2133 | 2133 | if (!IN_ANSI || (hSession->kybdlock & KL_AWAITING_FIRST)) |
2134 | 2134 | return; |
2135 | 2135 | |
2136 | - if (linemode) { | |
2136 | + if (hSession->linemode) { | |
2137 | 2137 | register int i; |
2138 | 2138 | char c; |
2139 | 2139 | |
... | ... | @@ -2473,7 +2473,7 @@ check_in3270(H3270 *session) |
2473 | 2473 | |
2474 | 2474 | #if defined(X3270_ANSI) /*[*/ |
2475 | 2475 | /* Reinitialize line mode. */ |
2476 | - if ((new_cstate == CONNECTED_ANSI && linemode) || | |
2476 | + if ((new_cstate == CONNECTED_ANSI && h3270.linemode) || | |
2477 | 2477 | new_cstate == CONNECTED_NVT) |
2478 | 2478 | cooked_init(); |
2479 | 2479 | #endif /*]*/ |
... | ... | @@ -2544,7 +2544,7 @@ void space3270out(int n) |
2544 | 2544 | static void |
2545 | 2545 | check_linemode(Boolean init) |
2546 | 2546 | { |
2547 | - int wasline = linemode; | |
2547 | + int wasline = h3270.linemode; | |
2548 | 2548 | |
2549 | 2549 | /* |
2550 | 2550 | * The next line is a deliberate kluge to effectively ignore the SGA |
... | ... | @@ -2560,17 +2560,17 @@ check_linemode(Boolean init) |
2560 | 2560 | * mode" properly by asking for both SGA and ECHO to be off or on, but |
2561 | 2561 | * we basically ignore the reply for SGA. |
2562 | 2562 | */ |
2563 | - linemode = !h3270.hisopts[TELOPT_ECHO] /* && !hisopts[TELOPT_SGA] */; | |
2563 | + h3270.linemode = h3270.hisopts[TELOPT_ECHO] ? 0 : 1 /* && !hisopts[TELOPT_SGA] */; | |
2564 | 2564 | |
2565 | - if (init || linemode != wasline) | |
2565 | + if (init || h3270.linemode != wasline) | |
2566 | 2566 | { |
2567 | - st_changed(LIB3270_STATE_LINE_MODE, linemode); | |
2567 | + st_changed(LIB3270_STATE_LINE_MODE, h3270.linemode); | |
2568 | 2568 | if (!init) |
2569 | 2569 | { |
2570 | - trace_dsn("Operating in %s mode.\n",linemode ? "line" : "character-at-a-time"); | |
2570 | + trace_dsn("Operating in %s mode.\n",h3270.linemode ? "line" : "character-at-a-time"); | |
2571 | 2571 | } |
2572 | 2572 | #if defined(X3270_ANSI) /*[*/ |
2573 | - if (IN_ANSI && linemode) | |
2573 | + if (IN_ANSI && h3270.linemode) | |
2574 | 2574 | cooked_init(); |
2575 | 2575 | #endif /*]*/ |
2576 | 2576 | } |
... | ... | @@ -2848,7 +2848,7 @@ net_add_eor(unsigned char *buf, int len) |
2848 | 2848 | void |
2849 | 2849 | net_sendc(char c) |
2850 | 2850 | { |
2851 | - if (c == '\r' && !linemode | |
2851 | + if (c == '\r' && !h3270.linemode | |
2852 | 2852 | /* |
2853 | 2853 | #if defined(LOCAL_PROCESS) |
2854 | 2854 | && !local_process | ... | ... |