diff --git a/libbb/read_key.c b/libbb/read_key.c index 951786869..03b7da656 100644 --- a/libbb/read_key.c +++ b/libbb/read_key.c @@ -259,7 +259,8 @@ int64_t FAST_FUNC read_key(int fd, char *buffer, int timeout) buffer[-1] = 0; /* Pack into "1 " 32-bit sequence */ - col |= (((-1 << 15) | row) << 16); + row |= ((unsigned)(-1) << 15); + col |= (row << 16); /* Return it in high-order word */ return ((int64_t) col << 32) | (uint32_t)KEYCODE_CURSOR_POS; }