void CheckScreenSize(int change_flag) { int wi, he; if (display == 0) { return; } if (ioctl(D_userfd, TIOCGWINSZ, (char *)&glwz) != 0) { wi = D_CO; he = D_LI; } else { wi = glwz.ws_col; he = glwz.ws_row; if (wi == 0) wi = D_CO; if (he == 0) he = D_LI; } if (D_width == wi && D_height == he) { return; } KillBlanker(); ResetIdle(); ChangeScreenSize(wi, he, change_flag); }
void CheckScreenSize(int change_flag) { int wi, he; if (display == 0) { debug("CheckScreenSize: No display -> no check.\n"); return; } #ifdef TIOCGWINSZ if (ioctl(D_userfd, TIOCGWINSZ, (char *)&glwz) != 0) { debug2("CheckScreenSize: ioctl(%d, TIOCGWINSZ) errno %d\n", D_userfd, errno); wi = D_CO; he = D_LI; } else { wi = glwz.ws_col; he = glwz.ws_row; if (wi == 0) wi = D_CO; if (he == 0) he = D_LI; } #else wi = D_CO; he = D_LI; #endif debug2("CheckScreenSize: screen is (%d,%d)\n", wi, he); if (D_width == wi && D_height == he) { debug("CheckScreenSize: No change -> return.\n"); return; } KillBlanker(); ResetIdle(); ChangeScreenSize(wi, he, change_flag); }