浏览代码

ptty: add detection of cursor position question

always return 1,1 for now
Jan Klemkow 5 年之前
父节点
当前提交
d5a014f1bd
共有 1 个文件被更改,包括 11 次插入1 次删除
  1. 11 1
      ptty.c

+ 11 - 1
ptty.c

@@ -121,9 +121,19 @@ main(int argc, char *argv[])
 		}
 
 		if (pfd[1].revents & POLLIN) {
-			if ((n = read(mfd, buf, sizeof buf)) == -1)
+			if ((n = read(mfd, buf, sizeof(buf)-1)) == -1)
 				die("read:");
+
 			if (n == 0) break;
+
+			buf[n] = '\0';
+
+			/* handle cursor position request */
+			if (strcmp("\033[6n", buf) == 0) {
+				dprintf(mfd, "\033[%d;%dR", 1, 1);
+				break;
+			}
+
 			if (write(STDOUT_FILENO, buf, n) == -1)
 				die("write:");
 		}