[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r104076: src/sysdep.c (get_tty_size)
From: |
Juanma Barranquero |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r104076: src/sysdep.c (get_tty_size) [WINDOWSNT]: Implement. |
Date: |
Mon, 02 May 2011 05:57:02 +0200 |
User-agent: |
Bazaar (2.3.1) |
------------------------------------------------------------
revno: 104076
fixes bug(s): http://debbugs.gnu.org/8596
committer: Juanma Barranquero <address@hidden>
branch nick: trunk
timestamp: Mon 2011-05-02 05:57:02 +0200
message:
src/sysdep.c (get_tty_size) [WINDOWSNT]: Implement.
modified:
src/ChangeLog
src/sysdep.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2011-05-02 02:49:06 +0000
+++ b/src/ChangeLog 2011-05-02 03:57:02 +0000
@@ -1,5 +1,9 @@
2011-05-02 Juanma Barranquero <address@hidden>
+ * sysdep.c (get_tty_size) [WINDOWSNT]: Implement. (Bug#8596)
+
+2011-05-02 Juanma Barranquero <address@hidden>
+
* gnutls.c (Qgnutls_log_level, Qgnutls_code, Qgnutls_anon)
(Qgnutls_x509pki, Qgnutls_e_interrupted, Qgnutls_e_again)
(Qgnutls_e_invalid_session, Qgnutls_e_not_ready_for_handshake)
=== modified file 'src/sysdep.c'
--- a/src/sysdep.c 2011-05-01 08:52:17 +0000
+++ b/src/sysdep.c 2011-05-02 03:57:02 +0000
@@ -1125,8 +1125,7 @@
void
get_tty_size (int fd, int *widthp, int *heightp)
{
-
-#ifdef TIOCGWINSZ
+#if defined TIOCGWINSZ
/* BSD-style. */
struct winsize size;
@@ -1139,8 +1138,7 @@
*heightp = size.ws_row;
}
-#else
-#ifdef TIOCGSIZE
+#elif defined TIOCGSIZE
/* SunOS - style. */
struct ttysize size;
@@ -1153,16 +1151,28 @@
*heightp = size.ts_lines;
}
-#else
-#ifdef MSDOS
+#elif defined WINDOWSNT
+
+ CONSOLE_SCREEN_BUFFER_INFO info;
+ if (GetConsoleScreenBufferInfo (GetStdHandle (STD_OUTPUT_HANDLE), &info))
+ {
+ *widthp = info.srWindow.Right - info.srWindow.Left + 1;
+ *heightp = info.srWindow.Bottom - info.srWindow.Top + 1;
+ }
+ else
+ *widthp = *heightp = 0;
+
+#elif defined MSDOS
+
*widthp = ScreenCols ();
*heightp = ScreenRows ();
+
#else /* system doesn't know size */
+
*widthp = 0;
*heightp = 0;
+
#endif
-#endif /* not SunOS-style */
-#endif /* not BSD-style */
}
/* Set the logical window size associated with descriptor FD
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r104076: src/sysdep.c (get_tty_size) [WINDOWSNT]: Implement.,
Juanma Barranquero <=