From ca485ca6709f99bee0cc0f696ebbab442c2bbe0a Mon Sep 17 00:00:00 2001 From: Paul LeoNerd Evans Date: Mon, 3 Nov 2008 14:45:59 +0000 Subject: [PATCH] Bugfix to recursive 'meta-' getkey code - handle buffcount too --- termkey.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/termkey.c b/termkey.c index 8f55dd3..b969e83 100644 --- a/termkey.c +++ b/termkey.c @@ -372,21 +372,23 @@ static termkey_result getkey_simple(termkey_t *tk, termkey_key *key, int force) // Try another key there tk->buffstart++; + tk->buffcount--; // Run the full driver termkey_result metakey_result = (*tk->driver.getkey)(tk, key, force); + tk->buffstart--; + tk->buffcount++; + switch(metakey_result) { case TERMKEY_RES_KEY: key->modifiers |= TERMKEY_KEYMOD_ALT; - tk->buffstart--; (*tk->method.eat_bytes)(tk, 1); break; case TERMKEY_RES_NONE: case TERMKEY_RES_EOF: case TERMKEY_RES_AGAIN: - tk->buffstart--; break; }