Commit f5a322d80b32493294a87eb4bfa0c17864c14371
1 parent
9d5150d1
Exists in
master
and in
3 other branches
Android - Implementando string de logon para passar automaticamente pela tela inicial
Showing
4 changed files
with
18 additions
and
17 deletions
Show diff stats
ctlr.c
@@ -240,7 +240,6 @@ static void set_formatted(H3270 *hSession, int state) | @@ -240,7 +240,6 @@ static void set_formatted(H3270 *hSession, int state) | ||
240 | hSession->update_formatted(hSession,hSession->formatted); | 240 | hSession->update_formatted(hSession,hSession->formatted); |
241 | } | 241 | } |
242 | */ | 242 | */ |
243 | - trace("Screen is now %s",hSession->formatted ? "formatted" : "unformatted"); | ||
244 | } | 243 | } |
245 | 244 | ||
246 | /** | 245 | /** |
@@ -366,12 +365,7 @@ unsigned char get_field_attribute(H3270 *hSession, int baddr) | @@ -366,12 +365,7 @@ unsigned char get_field_attribute(H3270 *hSession, int baddr) | ||
366 | return hSession->ea_buf[find_field_attribute(hSession,baddr)].fa; | 365 | return hSession->ea_buf[find_field_attribute(hSession,baddr)].fa; |
367 | } | 366 | } |
368 | 367 | ||
369 | -/* | ||
370 | - * Find the next unprotected field. Returns the address following the | ||
371 | - * unprotected attribute byte, or 0 if no nonzero-width unprotected field | ||
372 | - * can be found. | ||
373 | - */ | ||
374 | -int next_unprotected(H3270 *hSession, int baddr0) | 368 | +LIB3270_EXPORT int lib3270_get_next_unprotected(H3270 *hSession, int baddr0) |
375 | { | 369 | { |
376 | register int baddr, nbaddr; | 370 | register int baddr, nbaddr; |
377 | 371 |
ctlrc.h
@@ -61,7 +61,9 @@ LIB3270_INTERNAL enum pds ctlr_write(H3270 *hSession, unsigned char buf[], int b | @@ -61,7 +61,9 @@ LIB3270_INTERNAL enum pds ctlr_write(H3270 *hSession, unsigned char buf[], int b | ||
61 | LIB3270_INTERNAL void ctlr_write_sscp_lu(H3270 *session, unsigned char buf[], int buflen); | 61 | LIB3270_INTERNAL void ctlr_write_sscp_lu(H3270 *session, unsigned char buf[], int buflen); |
62 | LIB3270_INTERNAL void mdt_clear(H3270 *hSession, int baddr); | 62 | LIB3270_INTERNAL void mdt_clear(H3270 *hSession, int baddr); |
63 | LIB3270_INTERNAL void mdt_set(H3270 *hSession, int baddr); | 63 | LIB3270_INTERNAL void mdt_set(H3270 *hSession, int baddr); |
64 | -LIB3270_INTERNAL int next_unprotected(H3270 *session, int baddr0); | 64 | + |
65 | +#define next_unprotected(session, baddr0) lib3270_get_next_unprotected(session, baddr0) | ||
66 | + | ||
65 | LIB3270_INTERNAL enum pds process_ds(H3270 *hSession, unsigned char *buf, int buflen); | 67 | LIB3270_INTERNAL enum pds process_ds(H3270 *hSession, unsigned char *buf, int buflen); |
66 | LIB3270_INTERNAL void ps_process(H3270 *hSession); | 68 | LIB3270_INTERNAL void ps_process(H3270 *hSession); |
67 | 69 |
kybd.c
@@ -86,7 +86,9 @@ struct ta; | @@ -86,7 +86,9 @@ struct ta; | ||
86 | #include "api.h" | 86 | #include "api.h" |
87 | 87 | ||
88 | 88 | ||
89 | -/*#define KYBDLOCK_TRACE 1*/ | 89 | +#ifdef DEBUG |
90 | + #define KYBDLOCK_TRACE | ||
91 | +#endif // DEBUG | ||
90 | 92 | ||
91 | /* Statics */ | 93 | /* Statics */ |
92 | // static enum { NONE, COMPOSE, FIRST } composing = NONE; | 94 | // static enum { NONE, COMPOSE, FIRST } composing = NONE; |
@@ -372,12 +374,9 @@ static void kybdlock_set(H3270 *hSession, unsigned int bits) | @@ -372,12 +374,9 @@ static void kybdlock_set(H3270 *hSession, unsigned int bits) | ||
372 | n = hSession->kybdlock | bits; | 374 | n = hSession->kybdlock | bits; |
373 | if (n != hSession->kybdlock) | 375 | if (n != hSession->kybdlock) |
374 | { | 376 | { |
375 | -/* | ||
376 | #if defined(KYBDLOCK_TRACE) | 377 | #if defined(KYBDLOCK_TRACE) |
377 | - lib3270_trace_event(hSession," %s: kybdlock |= 0x%04x, 0x%04x -> 0x%04x\n", | ||
378 | - cause, bits, kybdlock, n); | 378 | + lib3270_trace_event(hSession," %s: kybdlock |= 0x%04x, 0x%04x -> 0x%04x\n", "set", bits, hSession->kybdlock, n); |
379 | #endif | 379 | #endif |
380 | -*/ | ||
381 | if ((hSession->kybdlock ^ bits) & KL_DEFERRED_UNLOCK) | 380 | if ((hSession->kybdlock ^ bits) & KL_DEFERRED_UNLOCK) |
382 | { | 381 | { |
383 | /* Turned on deferred unlock. */ | 382 | /* Turned on deferred unlock. */ |
@@ -396,10 +395,12 @@ void lib3270_kybdlock_clear(H3270 *hSession, LIB3270_KL_STATE bits) | @@ -396,10 +395,12 @@ void lib3270_kybdlock_clear(H3270 *hSession, LIB3270_KL_STATE bits) | ||
396 | { | 395 | { |
397 | unsigned int n = hSession->kybdlock & ~( (unsigned int) bits); | 396 | unsigned int n = hSession->kybdlock & ~( (unsigned int) bits); |
398 | 397 | ||
398 | + trace("%s: kybdlock=%d",__FUNCTION__,n); | ||
399 | + | ||
399 | if (n != hSession->kybdlock) | 400 | if (n != hSession->kybdlock) |
400 | { | 401 | { |
401 | #if defined(KYBDLOCK_TRACE) | 402 | #if defined(KYBDLOCK_TRACE) |
402 | - lib3270_trace_event(hSession," %s: kybdlock &= ~0x%04x, 0x%04x -> 0x%04x\n", __FUNCTION__, bits, kybdlock, n); | 403 | + lib3270_trace_event(hSession," %s: kybdlock &= ~0x%04x, 0x%04x -> 0x%04x\n", "clear", bits, hSession->kybdlock, n); |
403 | #endif | 404 | #endif |
404 | if ((hSession->kybdlock ^ n) & KL_DEFERRED_UNLOCK) | 405 | if ((hSession->kybdlock ^ n) & KL_DEFERRED_UNLOCK) |
405 | { | 406 | { |
@@ -2502,7 +2503,7 @@ LIB3270_EXPORT int lib3270_emulate_input(H3270 *hSession, const char *s, int len | @@ -2502,7 +2503,7 @@ LIB3270_EXPORT int lib3270_emulate_input(H3270 *hSession, const char *s, int len | ||
2502 | len = mb_to_unicode(s, len, w_ibuf, w_ibuf_len, NULL); | 2503 | len = mb_to_unicode(s, len, w_ibuf, w_ibuf_len, NULL); |
2503 | if (len < 0) | 2504 | if (len < 0) |
2504 | { | 2505 | { |
2505 | - return 0; /* failed */ | 2506 | + return -1; /* failed */ |
2506 | } | 2507 | } |
2507 | ws = w_ibuf; | 2508 | ws = w_ibuf; |
2508 | #else /*][*/ | 2509 | #else /*][*/ |
@@ -2523,7 +2524,7 @@ LIB3270_EXPORT int lib3270_emulate_input(H3270 *hSession, const char *s, int len | @@ -2523,7 +2524,7 @@ LIB3270_EXPORT int lib3270_emulate_input(H3270 *hSession, const char *s, int len | ||
2523 | if (hSession->kybdlock) | 2524 | if (hSession->kybdlock) |
2524 | { | 2525 | { |
2525 | lib3270_trace_event(hSession," keyboard locked, string dropped\n"); | 2526 | lib3270_trace_event(hSession," keyboard locked, string dropped\n"); |
2526 | - return 0; | 2527 | + return -1; |
2527 | } | 2528 | } |
2528 | 2529 | ||
2529 | if (pasting && IN_3270) | 2530 | if (pasting && IN_3270) |
screen.c
@@ -372,10 +372,14 @@ void screen_update(H3270 *session, int bstart, int bend) | @@ -372,10 +372,14 @@ void screen_update(H3270 *session, int bstart, int bend) | ||
372 | session->changed(session,first,len); | 372 | session->changed(session,first,len); |
373 | } | 373 | } |
374 | 374 | ||
375 | - if(session->starting && session->formatted && lib3270_in_3270(session)) | 375 | + if(session->starting && session->formatted && !session->kybdlock && lib3270_in_3270(session)) |
376 | { | 376 | { |
377 | session->starting = 0; | 377 | session->starting = 0; |
378 | + | ||
379 | +// cursor_move(session,next_unprotected(session,0)); | ||
380 | +// lib3270_emulate_input(session,"\\n",-1,0); | ||
378 | session->autostart(session); | 381 | session->autostart(session); |
382 | + | ||
379 | #ifdef DEBUG | 383 | #ifdef DEBUG |
380 | { | 384 | { |
381 | char *text = lib3270_get_text(session,0,-1); | 385 | char *text = lib3270_get_text(session,0,-1); |