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
	 Björn Groenvall
					Björn Groenvall