From 9cc22a482d19294d29175a366c76c8cc0cf09145 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Sat, 30 Mar 2013 11:18:36 +0000 Subject: [PATCH] Use the hidden fopencookie() on Haiku --- ext/solv_xfopen.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/ext/solv_xfopen.c b/ext/solv_xfopen.c index a9a6e40f..63fec235 100644 --- a/ext/solv_xfopen.c +++ b/ext/solv_xfopen.c @@ -17,6 +17,23 @@ #include "util.h" +/* Evil hack for Haiku: fopencookie() is implemented internally, but not + exported by a header. */ +#ifdef __HAIKU__ + +typedef struct { + ssize_t (*read)(void*, char*, size_t); + ssize_t (*write)(void*, const char*, size_t); + int (*seek)(off_t*, int); + int (*close)(void*); +} cookie_io_functions_t; + + +FILE *fopencookie(void*, const char*, cookie_io_functions_t); + +#endif /* __HAIKU__ */ + + static FILE *cookieopen(void *cookie, const char *mode, ssize_t (*cread)(void *, char *, size_t), ssize_t (*cwrite)(void *, const char *, size_t), -- 2.47.2