From 1bc6faa48907919376b14429f3b802d0d16fc00a Mon Sep 17 00:00:00 2001 From: Henrik Rydberg Date: Tue, 21 Dec 2010 17:29:14 +0100 Subject: 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 --- tools/evemu-echo.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'tools/evemu-echo.c') 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 @@ static int evemu_echo_describe(FILE *fp) { - struct evemu_device dev; - int ret; + struct evemu_device *dev; + int ret = -ENOMEM; - ret = evemu_read(&dev, fp); + dev = evemu_new(0); + if (!dev) + goto out; + ret = evemu_read(dev, fp); if (ret <= 0) - return ret; - - evemu_write(&dev, stdout); + goto out; - return 0; + evemu_write(dev, stdout); +out: + evemu_delete(dev); + return ret; } static int evemu_echo_event(FILE *fp) -- cgit v1.2.3