aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--demo.c2
-rw-r--r--termkey.c9
2 files changed, 11 insertions, 0 deletions
diff --git a/demo.c b/demo.c
index 4a96b64..df1627a 100644
--- a/demo.c
+++ b/demo.c
@@ -46,4 +46,6 @@ int main(int argc, char *argv[]) {
termios.c_lflag = old_lflag;
tcsetattr(0, TCSANOW, &termios);
+
+ termkey_free(tk);
}
diff --git a/termkey.c b/termkey.c
index 411d958..2830f01 100644
--- a/termkey.c
+++ b/termkey.c
@@ -189,6 +189,15 @@ termkey_t *termkey_new(int fd, int flags)
return termkey_new_full(fd, flags, 256, 50);
}
+void termkey_free(termkey_t *tk)
+{
+ free(tk->buffer); tk->buffer = NULL;
+ free(tk->keynames); tk->keynames = NULL;
+ free(tk->csifuncs); tk->csifuncs = NULL;
+
+ free(tk);
+}
+
void termkey_setwaittime(termkey_t *tk, int msec)
{
tk->waittime = msec;