|
@@ -1,6 +1,5 @@
|
|
#include "stdio_impl.h"
|
|
#include "stdio_impl.h"
|
|
#include <stdlib.h>
|
|
#include <stdlib.h>
|
|
-#include <termios.h>
|
|
|
|
#include <sys/ioctl.h>
|
|
#include <sys/ioctl.h>
|
|
#include <fcntl.h>
|
|
#include <fcntl.h>
|
|
#include <errno.h>
|
|
#include <errno.h>
|
|
@@ -9,7 +8,7 @@
|
|
FILE *__fdopen(int fd, const char *mode)
|
|
FILE *__fdopen(int fd, const char *mode)
|
|
{
|
|
{
|
|
FILE *f;
|
|
FILE *f;
|
|
- struct termios tio;
|
|
|
|
|
|
+ struct winsize wsz;
|
|
|
|
|
|
/* Check for valid initial mode character */
|
|
/* Check for valid initial mode character */
|
|
if (!strchr("rwa", *mode)) {
|
|
if (!strchr("rwa", *mode)) {
|
|
@@ -43,7 +42,7 @@ FILE *__fdopen(int fd, const char *mode)
|
|
|
|
|
|
/* Activate line buffered mode for terminals */
|
|
/* Activate line buffered mode for terminals */
|
|
f->lbf = EOF;
|
|
f->lbf = EOF;
|
|
- if (!(f->flags & F_NOWR) && !__syscall(SYS_ioctl, fd, TCGETS, &tio))
|
|
|
|
|
|
+ if (!(f->flags & F_NOWR) && !__syscall(SYS_ioctl, fd, TIOCGWINSZ, &wsz))
|
|
f->lbf = '\n';
|
|
f->lbf = '\n';
|
|
|
|
|
|
/* Initialize op ptrs. No problem if some are unneeded. */
|
|
/* Initialize op ptrs. No problem if some are unneeded. */
|