Commit 13d1732bc9ffc14209f8980dd2b20ce81f23d9c7
1 parent
48efc5cc
Exists in
master
and in
3 other branches
Adjustments in the API.
Showing
4 changed files
with
42 additions
and
43 deletions
Show diff stats
src/core/ctlr.c
... | ... | @@ -515,29 +515,35 @@ LIB3270_EXPORT int lib3270_field_addr(H3270 *hSession, int baddr) |
515 | 515 | return -1; |
516 | 516 | } |
517 | 517 | |
518 | -LIB3270_EXPORT int lib3270_get_field_attribute(H3270 *hSession, int baddr) | |
518 | +LIB3270_EXPORT LIB3270_FIELD_ATTRIBUTE lib3270_get_field_attribute(H3270 *hSession, int baddr) | |
519 | 519 | { |
520 | 520 | int sbaddr; |
521 | 521 | |
522 | 522 | FAIL_IF_NOT_ONLINE(hSession); |
523 | 523 | |
524 | 524 | if(!hSession->formatted) |
525 | - return errno = ENOTCONN; | |
525 | + { | |
526 | + errno = ENOTCONN; | |
527 | + return (LIB3270_FIELD_ATTRIBUTE) 0; | |
528 | + } | |
529 | + | |
530 | + if(baddr < 0) | |
531 | + baddr = lib3270_get_cursor_address(hSession); | |
526 | 532 | |
527 | 533 | sbaddr = baddr; |
528 | 534 | do |
529 | 535 | { |
530 | 536 | if(hSession->ea_buf[baddr].fa) |
531 | - return hSession->ea_buf[baddr].fa; | |
537 | + return (LIB3270_FIELD_ATTRIBUTE) hSession->ea_buf[baddr].fa; | |
538 | + | |
532 | 539 | DEC_BA(baddr); |
533 | 540 | } while (baddr != sbaddr); |
534 | 541 | |
535 | 542 | errno = EINVAL; |
536 | - return -1; | |
543 | + return (LIB3270_FIELD_ATTRIBUTE) 0; | |
537 | 544 | |
538 | 545 | } |
539 | 546 | |
540 | - | |
541 | 547 | /** |
542 | 548 | * @brief Get the length of the field at given buffer address. |
543 | 549 | * | ... | ... |
src/include/lib3270.h
... | ... | @@ -547,6 +547,14 @@ |
547 | 547 | LIB3270_EXPORT int lib3270_get_secure_host(H3270 *hSession); |
548 | 548 | |
549 | 549 | /** |
550 | + * @brief Get security state. | |
551 | + * | |
552 | + */ | |
553 | + LIB3270_EXPORT LIB3270_SSL_STATE lib3270_get_ssl_state(H3270 *session); | |
554 | + | |
555 | + LIB3270_EXPORT long lib3270_get_SSL_verify_result(H3270 *session); | |
556 | + | |
557 | + /** | |
550 | 558 | * @brief Get security state as text. |
551 | 559 | * |
552 | 560 | */ |
... | ... | @@ -971,8 +979,6 @@ |
971 | 979 | LIB3270_EXPORT int lib3270_is_secure(H3270 *h); |
972 | 980 | |
973 | 981 | LIB3270_EXPORT LIB3270_MESSAGE lib3270_lock_status(H3270 *h); |
974 | - LIB3270_EXPORT LIB3270_SSL_STATE lib3270_get_secure(H3270 *session); | |
975 | - LIB3270_EXPORT long lib3270_get_SSL_verify_result(H3270 *session); | |
976 | 982 | |
977 | 983 | /** |
978 | 984 | * Run main iteration. |
... | ... | @@ -1176,11 +1182,11 @@ |
1176 | 1182 | * @brief Get field attribute for a given buffer address. |
1177 | 1183 | * |
1178 | 1184 | * @param hSession Session handle. |
1179 | - * @param addr Buffer address of the field. | |
1185 | + * @param addr Buffer address of the field (-1 to use the cursor address). | |
1180 | 1186 | * |
1181 | - * @return field attribute or -1 when failed (sets errno). | |
1187 | + * @return field attribute or 0 when failed (sets errno). | |
1182 | 1188 | */ |
1183 | - LIB3270_EXPORT int lib3270_get_field_attribute(H3270 *hSession, int baddr); | |
1189 | + LIB3270_EXPORT LIB3270_FIELD_ATTRIBUTE lib3270_get_field_attribute(H3270 *hSession, int baddr); | |
1184 | 1190 | |
1185 | 1191 | /** |
1186 | 1192 | * @brief Get the length of the field at given buffer address. | ... | ... |
src/ssl/negotiate.c
... | ... | @@ -434,30 +434,17 @@ void ssl_info_callback(INFO_CONST SSL *s, int where, int ret) |
434 | 434 | |
435 | 435 | #endif /*]*/ |
436 | 436 | |
437 | -int popup_ssl_error(H3270 *hSession, int rc, const char *title, const char *summary, const char *body) | |
437 | +int popup_ssl_error(H3270 GNUC_UNUSED(*hSession), int rc, const char *title, const char *summary, const char *body) | |
438 | 438 | { |
439 | -#ifdef SSL_ENABLE_NOTIFICATION_WHEN_FAILED | |
440 | - | |
441 | - lib3270_write_log(hSession, "SSL", "%s", summary ); | |
442 | - return hSession->cbk.popup_ssl_error(hSession,rc,title,summary,body); | |
443 | - | |
444 | -#else | |
445 | - | |
446 | - lib3270_autoptr(char) message = NULL; | |
447 | - | |
448 | - if(body && *body) | |
449 | - message = lib3270_strdup_printf("%s - rc=%d",body,rc); | |
450 | - else if(rc) | |
451 | - message = lib3270_strdup_printf("%s (rc=%d)",strerror(rc),rc); | |
452 | - else | |
453 | - message = lib3270_strdup_printf("rc=%d",rc); | |
454 | - | |
455 | 439 | #ifdef _WIN32 |
456 | 440 | |
441 | + lib3270_autoptr(char) rcMessage = lib3270_strdup_printf("The error code was %d",rc); | |
442 | + | |
457 | 443 | const char *outMsg[] = { |
458 | 444 | title, |
459 | 445 | summary, |
460 | - message | |
446 | + (body ? body : ""), | |
447 | + rcMessage | |
461 | 448 | }; |
462 | 449 | |
463 | 450 | ReportEvent( |
... | ... | @@ -466,7 +453,7 @@ int popup_ssl_error(H3270 *hSession, int rc, const char *title, const char *summ |
466 | 453 | 1, |
467 | 454 | 0, |
468 | 455 | NULL, |
469 | - 3, | |
456 | + (sizeof(outMsg)/sizeof(outMsg[0])), | |
470 | 457 | 0, |
471 | 458 | outMsg, |
472 | 459 | NULL |
... | ... | @@ -474,18 +461,18 @@ int popup_ssl_error(H3270 *hSession, int rc, const char *title, const char *summ |
474 | 461 | |
475 | 462 | #else |
476 | 463 | |
477 | - lib3270_write_log( | |
478 | - hSession, | |
479 | - "SSL", | |
480 | - "%s - %s - %s", | |
481 | - title, | |
482 | - summary, | |
483 | - message | |
484 | - ); | |
464 | + lib3270_write_log(hSession, "SSL", "%s %s (rc=%d)", summary, (body ? body : ""), rc); | |
485 | 465 | |
486 | 466 | #endif // _WIN32 |
487 | 467 | |
468 | +#ifdef SSL_ENABLE_NOTIFICATION_WHEN_FAILED | |
469 | + | |
470 | + return hSession->cbk.popup_ssl_error(hSession,rc,title,summary,body); | |
471 | + | |
472 | +#else | |
473 | + | |
488 | 474 | return 0; |
475 | + | |
489 | 476 | #endif // SSL_ENABLE_NOTIFICATION_WHEN_FAILED |
490 | 477 | |
491 | 478 | } | ... | ... |
src/ssl/state.c
... | ... | @@ -47,7 +47,7 @@ |
47 | 47 | |
48 | 48 | LIB3270_EXPORT int lib3270_is_secure(H3270 *hSession) |
49 | 49 | { |
50 | - return lib3270_get_secure(hSession) == LIB3270_SSL_SECURE; | |
50 | + return lib3270_get_ssl_state(hSession) == LIB3270_SSL_SECURE; | |
51 | 51 | } |
52 | 52 | |
53 | 53 | LIB3270_EXPORT long lib3270_get_SSL_verify_result(H3270 *hSession) |
... | ... | @@ -60,7 +60,7 @@ LIB3270_EXPORT long lib3270_get_SSL_verify_result(H3270 *hSession) |
60 | 60 | return -1; |
61 | 61 | } |
62 | 62 | |
63 | -LIB3270_EXPORT LIB3270_SSL_STATE lib3270_get_secure(H3270 *hSession) | |
63 | +LIB3270_EXPORT LIB3270_SSL_STATE lib3270_get_ssl_state(H3270 *hSession) | |
64 | 64 | { |
65 | 65 | CHECK_SESSION_HANDLE(hSession); |
66 | 66 | return hSession->ssl.state; |
... | ... | @@ -365,7 +365,7 @@ void set_ssl_state(H3270 *hSession, LIB3270_SSL_STATE state) |
365 | 365 | |
366 | 366 | const char * lib3270_get_ssl_state_message(H3270 *hSession) |
367 | 367 | { |
368 | - if(lib3270_get_secure(hSession) != LIB3270_SSL_UNSECURE) | |
368 | + if(lib3270_get_ssl_state(hSession) != LIB3270_SSL_UNSECURE) | |
369 | 369 | { |
370 | 370 | const struct ssl_status_msg *info = get_ssl_status_msg(hSession); |
371 | 371 | if(info) |
... | ... | @@ -378,7 +378,7 @@ void set_ssl_state(H3270 *hSession, LIB3270_SSL_STATE state) |
378 | 378 | |
379 | 379 | const char * lib3270_get_ssl_state_icon_name(H3270 *hSession) |
380 | 380 | { |
381 | - if(lib3270_get_secure(hSession) != LIB3270_SSL_UNSECURE) | |
381 | + if(lib3270_get_ssl_state(hSession) != LIB3270_SSL_UNSECURE) | |
382 | 382 | { |
383 | 383 | const struct ssl_status_msg *info = get_ssl_status_msg(hSession); |
384 | 384 | if(info) |
... | ... | @@ -392,7 +392,7 @@ void set_ssl_state(H3270 *hSession, LIB3270_SSL_STATE state) |
392 | 392 | |
393 | 393 | const char * lib3270_get_ssl_state_description(H3270 *hSession) |
394 | 394 | { |
395 | - if(lib3270_get_secure(hSession) != LIB3270_SSL_UNSECURE) | |
395 | + if(lib3270_get_ssl_state(hSession) != LIB3270_SSL_UNSECURE) | |
396 | 396 | { |
397 | 397 | const struct ssl_status_msg *info = get_ssl_status_msg(hSession); |
398 | 398 | if(info) |
... | ... | @@ -408,7 +408,7 @@ void set_ssl_state(H3270 *hSession, LIB3270_SSL_STATE state) |
408 | 408 | |
409 | 409 | LIB3270_NOTIFY lib3270_get_ssl_state_icon(H3270 *hSession) |
410 | 410 | { |
411 | - if(lib3270_get_secure(hSession) != LIB3270_SSL_UNSECURE) | |
411 | + if(lib3270_get_ssl_state(hSession) != LIB3270_SSL_UNSECURE) | |
412 | 412 | { |
413 | 413 | const struct ssl_status_msg *info = get_ssl_status_msg(hSession); |
414 | 414 | if(info) | ... | ... |