diff --git a/src/lib3270/options.c b/src/lib3270/options.c index 6288c77..1f1c5e9 100644 --- a/src/lib3270/options.c +++ b/src/lib3270/options.c @@ -81,22 +81,28 @@ LIB3270_EXPORT int lib3270_set_color_type(H3270 *hSession, unsigned short colort { CHECK_SESSION_HANDLE(hSession); + if(hSession->cstate != LIB3270_NOT_CONNECTED) + return EBUSY; + switch(colortype) { case 0: case 16: hSession->colors = 16; hSession->mono = 0; + hSession->m3279 = 1; break; case 8: hSession->colors = 8; hSession->mono = 0; + hSession->m3279 = 1; break; case 2: hSession->colors = 16; hSession->mono = 1; + hSession->m3279 = 0; break; default: diff --git a/src/lib3270/telnet.c b/src/lib3270/telnet.c index 8bf566f..2b7fbfc 100644 --- a/src/lib3270/telnet.c +++ b/src/lib3270/telnet.c @@ -684,6 +684,8 @@ int net_connect(H3270 *session, const char *host, char *portname, Boolean ls, Bo } + snprintf(session->full_model_name,LIB3270_FULL_MODEL_NAME_LENGTH,"IBM-327%c-%d",session->m3279 ? '9' : '8', session->model_num); + /* set up temporary termtype if (session->termname == CN && session->std_ds_host) { -- libgit2 0.21.2