summaryrefslogtreecommitdiff
path: root/tools/evemu-echo.c
diff options
context:
space:
mode:
authorHenrik Rydberg <rydberg@euromail.se>2010-12-21 17:29:14 +0100
committerHenrik Rydberg <rydberg@euromail.se>2010-12-21 17:29:14 +0100
commit1bc6faa48907919376b14429f3b802d0d16fc00a (patch)
tree73e57b6f956d8f50c456330c878e9b210ad41483 /tools/evemu-echo.c
parenta8df0405686350c3145b3e5119d796c6642339fd (diff)
Make evemu ABI resilient
Hide the evemu struct, make it versioned, and instead use new/delete and accessor functions. This should give us enough ABI stability to run mixed library implementations. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Diffstat (limited to 'tools/evemu-echo.c')
-rw-r--r--tools/evemu-echo.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/tools/evemu-echo.c b/tools/evemu-echo.c
index d3501ea..e9c89df 100644
--- a/tools/evemu-echo.c
+++ b/tools/evemu-echo.c
@@ -33,16 +33,20 @@
33 33
34static int evemu_echo_describe(FILE *fp) 34static int evemu_echo_describe(FILE *fp)
35{ 35{
36 struct evemu_device dev; 36 struct evemu_device *dev;
37 int ret; 37 int ret = -ENOMEM;
38 38
39 ret = evemu_read(&dev, fp); 39 dev = evemu_new(0);
40 if (!dev)
41 goto out;
42 ret = evemu_read(dev, fp);
40 if (ret <= 0) 43 if (ret <= 0)
41 return ret; 44 goto out;
42
43 evemu_write(&dev, stdout);
44 45
45 return 0; 46 evemu_write(dev, stdout);
47out:
48 evemu_delete(dev);
49 return ret;
46} 50}
47 51
48static int evemu_echo_event(FILE *fp) 52static int evemu_echo_event(FILE *fp)