Make it work under SysV again.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@5106 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -68,31 +68,20 @@ RCSID("$Id$");
|
|||||||
int
|
int
|
||||||
get_window_size(int fd, struct winsize *wp)
|
get_window_size(int fd, struct winsize *wp)
|
||||||
{
|
{
|
||||||
char *s;
|
|
||||||
struct winsize tmp;
|
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
memset(wp, 0, sizeof(*wp));
|
memset(wp, 0, sizeof(*wp));
|
||||||
memset(&tmp, 0, sizeof(tmp));
|
|
||||||
if((s = getenv("COLUMNS")))
|
|
||||||
wp->ws_col = atoi(s);
|
|
||||||
if((s = getenv("LINES")))
|
|
||||||
wp->ws_row = atoi(s);
|
|
||||||
if(wp->ws_col > 0 && wp->ws_row > 0)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
#if defined(TIOCGWINSZ)
|
#if defined(TIOCGWINSZ)
|
||||||
ret = ioctl(fd, TIOCGWINSZ, &tmp);
|
ret = ioctl(fd, TIOCGWINSZ, wp);
|
||||||
#elif defined(TIOCGSIZE)
|
#elif defined(TIOCGSIZE)
|
||||||
{
|
{
|
||||||
struct ttysize ts;
|
struct ttysize ts;
|
||||||
|
|
||||||
ret = ioctl(fd, TIOCGSIZE, &ts);
|
ret = ioctl(fd, TIOCGSIZE, &ts);
|
||||||
if(ret == 0) {
|
if(ret == 0) {
|
||||||
tmp.ws_row = ts.ts_lines;
|
wp->ws_row = ts.ts_lines;
|
||||||
tmp.ws_col = ts.ts_cols;
|
wp->ws_col = ts.ts_cols;
|
||||||
tmp.ws_xpixel = 0;
|
|
||||||
tmp.ws_ypixel = 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#elif defined(HAVE__SCRSIZE)
|
#elif defined(HAVE__SCRSIZE)
|
||||||
@@ -100,22 +89,19 @@ get_window_size(int fd, struct winsize *wp)
|
|||||||
int dst[2];
|
int dst[2];
|
||||||
|
|
||||||
_scrsize(dst);
|
_scrsize(dst);
|
||||||
tmp.ws_row = dst[1];
|
wp->ws_row = dst[1];
|
||||||
tmp.ws_col = dst[0];
|
wp->ws_col = dst[0];
|
||||||
tmp.ws_xpixel = 0;
|
|
||||||
tmp.ws_ypixel = 0;
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if(ret == 0) {
|
if (ret != 0) {
|
||||||
if(wp->ws_col == 0) {
|
char *s;
|
||||||
wp->ws_col = tmp.ws_col;
|
if((s = getenv("COLUMNS")))
|
||||||
wp->ws_xpixel = tmp.ws_xpixel;
|
wp->ws_col = atoi(s);
|
||||||
}
|
if((s = getenv("LINES")))
|
||||||
if(wp->ws_row == 0) {
|
wp->ws_row = atoi(s);
|
||||||
wp->ws_row = tmp.ws_row;
|
if(wp->ws_col > 0 && wp->ws_row > 0)
|
||||||
wp->ws_ypixel = tmp.ws_ypixel;
|
ret = 0;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user