aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPřemysl Janouch <p.janouch@gmail.com>2015-07-25 19:05:23 +0200
committerPřemysl Janouch <p.janouch@gmail.com>2015-07-25 19:05:23 +0200
commitcd87fee243d924ffc057ed5c5852e1faa392e959 (patch)
tree08f11b572e3a09770148181891c63b91cd783e9e
parentdc7b9efd71954812f9f68e7945c8ecd367eaa3e5 (diff)
downloadtermo-cd87fee243d924ffc057ed5c5852e1faa392e959.tar.gz
termo-cd87fee243d924ffc057ed5c5852e1faa392e959.tar.xz
termo-cd87fee243d924ffc057ed5c5852e1faa392e959.zip
Mark some issues
-rw-r--r--termo.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/termo.c b/termo.c
index 05f3f31..130ff40 100644
--- a/termo.c
+++ b/termo.c
@@ -429,6 +429,7 @@ termo_new (int fd, const char *encoding, int flags)
&& termo_start (tk))
return tk;
+ // FIXME: resource leak on termo_start() failure
free (tk);
return NULL;
}
@@ -990,6 +991,9 @@ peekkey_simple (termo_t *tk, termo_key_t *key, int force, size_t *nbytep)
}
else if (!(tk->flags & TERMO_FLAG_RAW))
{
+ // XXX: this way DEL is never recognised as backspace, even if it is
+ // specified in the terminfo entry key_backspace. Just because it
+ // doesn't form an escape sequence.
uint32_t codepoint;
termo_result_t res = parse_multibyte
(tk, tk->buffer + tk->buffstart, tk->buffcount, &codepoint, nbytep);