aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul LeoNerd Evans <leonerd@leonerd.org.uk>2008-02-23 20:07:48 +0000
committerPaul LeoNerd Evans <leonerd@leonerd.org.uk>2008-02-23 20:07:48 +0000
commit8f8e96f015efa9541f6584ff5d15fe3f01a32b28 (patch)
treefdd1d4b84befeace40ef83653ef5b2110b28651d
parentdda9be9110732f824cfc191a3bc587886e787bb5 (diff)
downloadtermo-8f8e96f015efa9541f6584ff5d15fe3f01a32b28.tar.gz
termo-8f8e96f015efa9541f6584ff5d15fe3f01a32b28.tar.xz
termo-8f8e96f015efa9541f6584ff5d15fe3f01a32b28.zip
Implemented termkey_free()
-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;