diff options
Diffstat (limited to 'editors/vi.c')
-rw-r--r-- | editors/vi.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/editors/vi.c b/editors/vi.c index 4e5a5ac4a..5013d0d51 100644 --- a/editors/vi.c +++ b/editors/vi.c | |||
@@ -2239,7 +2239,9 @@ static char readit(void) // read (maybe cursor) key from stdin | |||
2239 | pfd[0].events = POLLIN; | 2239 | pfd[0].events = POLLIN; |
2240 | // keep reading while there are input chars, and room in buffer | 2240 | // keep reading while there are input chars, and room in buffer |
2241 | // for a complete ESC sequence (assuming 8 chars is enough) | 2241 | // for a complete ESC sequence (assuming 8 chars is enough) |
2242 | while (safe_poll(pfd, 1, 0) > 0 && n <= (sizeof(readbuffer) - 8)) { | 2242 | while ((safe_poll(pfd, 1, 0) > 0) |
2243 | && ((size_t)n <= (sizeof(readbuffer) - 8)) | ||
2244 | ) { | ||
2243 | // read the rest of the ESC string | 2245 | // read the rest of the ESC string |
2244 | int r = safe_read(0, readbuffer + n, sizeof(readbuffer) - n); | 2246 | int r = safe_read(0, readbuffer + n, sizeof(readbuffer) - n); |
2245 | if (r > 0) | 2247 | if (r > 0) |