/* * Initialize the model number and oversize. This needs to happen before the * screen is initialized. */ void model_init(void) { int model_number; int ovc, ovr; /* * Sort out model and color modes, based on the model number resource. */ model_number = parse_model_number(appres.model); if (model_number < 0) { popup_an_error("Invalid model number: %s", appres.model); model_number = 0; } if (!model_number) { #if defined(RESTRICT_3279) /*[*/ model_number = 3; #else /*][*/ model_number = 4; #endif /*]*/ } #if defined(RESTRICT_3279) /*[*/ if (appres.m3279 && model_number == 4) { model_number = 3; } #endif /*]*/ if (appres.interactive.mono) { appres.m3279 = false; } if (!appres.extended) { appres.oversize = NULL; } ovc = 0; ovr = 0; if (appres.extended && appres.oversize != NULL) { if (product_auto_oversize() && !strcasecmp(appres.oversize, "auto")) { ovc = -1; ovr = -1; } else { int x_ovc, x_ovr; char junk; if (sscanf(appres.oversize, "%dx%d%c", &x_ovc, &x_ovr, &junk) == 2) { ovc = x_ovc; ovr = x_ovr; } else { xs_warning("Invalid %s value '%s'", ResOversize, appres.oversize); } } } set_rows_cols(model_number, ovc, ovr); net_set_default_termtype(); }
/* * Initialize the model number and oversize. This needs to happen before the * screen is initialized. */ void model_init(void) { int model_number; int ovc, ovr; /* * Sort out model and color modes, based on the model number resource. */ model_number = parse_model_number(appres.model); if (model_number < 0) { popup_an_error("Invalid model number: %s", appres.model); model_number = 0; } if (!model_number) { #if defined(RESTRICT_3279) /*[*/ model_number = 3; #else /*][*/ model_number = 4; #endif /*]*/ } #if defined(RESTRICT_3279) /*[*/ if (appres.m3279 && model_number == 4) { model_number = 3; } #endif /*]*/ #if defined(C3270) && !defined(_WIN32) /*[*/ if (appres.mono) appres.m3279 = False; #endif /*]*/ if (!appres.extended) { appres.oversize = CN; } ovc = 0; ovr = 0; if (appres.extended && appres.oversize != CN) { #if defined(C3270) /*[*/ if (!strcasecmp(appres.oversize, "auto")) { ovc = -1; ovr = -1; } else #endif /*]*/ { int x_ovc, x_ovr; char junk; if (sscanf(appres.oversize, "%dx%d%c", &x_ovc, &x_ovr, &junk) == 2) { ovc = x_ovc; ovr = x_ovr; } } } set_rows_cols(model_number, ovc, ovr); if (appres.termname != CN) { termtype = appres.termname; } else { termtype = full_model_name; } }
void lib3270_session_init(H3270 *hSession, const char *model) { int ovc, ovr; char junk; int model_number; memset(hSession,0,sizeof(H3270)); hSession->sz = sizeof(H3270); hSession->sock = -1; hSession->model_num = -1; // hSession->first_changed = -1; // hSession->last_changed = -1; hSession->cstate = NOT_CONNECTED; hSession->oia_status = -1; strncpy(hSession->full_model_name,"IBM-",FULL_MODEL_NAME_SIZE); hSession->model_name = &hSession->full_model_name[4]; /* * Sort out model and color modes, based on the model number resource. */ /* if(appres.model && *appres.model) model = appres.model; */ if(!*model) model = "2"; // No model, use the default one // Trace("Parsing model: %s",appres.model); model_number = parse_model_number(model); if (model_number < 0) { popup_an_error("Invalid model number: %s", model); model_number = 0; } if (!model_number) { #if defined(RESTRICT_3279) model_number = 3; #else model_number = 4; #endif } if(appres.mono) appres.m3279 = False; if(!appres.extended) appres.oversize = CN; #if defined(RESTRICT_3279) if (appres.m3279 && model_number == 4) model_number = 3; #endif Trace("Model_number: %d",model_number); if (!appres.extended || appres.oversize == CN || sscanf(appres.oversize, "%dx%d%c", &ovc, &ovr, &junk) != 2) { ovc = 0; ovr = 0; } ctlr_set_rows_cols(hSession, model_number, ovc, ovr); if (appres.termname != CN) hSession->termtype = appres.termname; else hSession->termtype = hSession->full_model_name; Trace("Termtype: %s",hSession->termtype); if (appres.apl_mode) appres.charset = Apl; }