浏览代码

avoid setting errno when checking for tty

setting errno here is completely valid, but some programs, notably
busybox printf, assume that errno will not be set during output and
treat this as an error condition. in any case, skipping it slightly
reduces code size and saves time.
Rich Felker 14 年之前
父节点
当前提交
69cf09c821
共有 2 个文件被更改,包括 2 次插入2 次删除
  1. 1 1
      src/stdio/__fdopen.c
  2. 1 1
      src/stdio/__stdout_write.c

+ 1 - 1
src/stdio/__fdopen.c

@@ -30,7 +30,7 @@ FILE *__fdopen(int fd, const char *mode)
 
 	/* Activate line buffered mode for terminals */
 	f->lbf = EOF;
-	if (!(f->flags & F_NOWR) && !syscall(SYS_ioctl, fd, TCGETS, &tio))
+	if (!(f->flags & F_NOWR) && !__syscall(SYS_ioctl, fd, TCGETS, &tio))
 		f->lbf = '\n';
 
 	/* Initialize op ptrs. No problem if some are unneeded. */

+ 1 - 1
src/stdio/__stdout_write.c

@@ -4,7 +4,7 @@ size_t __stdout_write(FILE *f, const unsigned char *buf, size_t len)
 {
 	struct termios tio;
 	f->write = __stdio_write;
-	if (!(f->flags & F_SVB) && syscall(SYS_ioctl, f->fd, TCGETS, &tio))
+	if (!(f->flags & F_SVB) && __syscall(SYS_ioctl, f->fd, TCGETS, &tio))
 		f->lbf = -1;
 	return __stdio_write(f, buf, len);
 }