diff options
Diffstat (limited to 'src/drivers/Posix/Fl_Posix_System_Driver.cxx')
| -rw-r--r-- | src/drivers/Posix/Fl_Posix_System_Driver.cxx | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/drivers/Posix/Fl_Posix_System_Driver.cxx b/src/drivers/Posix/Fl_Posix_System_Driver.cxx index c2576b268..f603c2d17 100644 --- a/src/drivers/Posix/Fl_Posix_System_Driver.cxx +++ b/src/drivers/Posix/Fl_Posix_System_Driver.cxx @@ -34,6 +34,9 @@ #include <pwd.h> #include <unistd.h> #include <time.h> +#if defined(HAVE_LIBZ) +# include <zlib.h> +#endif // // Define missing POSIX/XPG4 macros as needed... @@ -99,6 +102,18 @@ void Fl_Posix_System_Driver::gettime(time_t *sec, int *usec) { *usec = tv.tv_usec; } +void* Fl_Posix_System_Driver::gzopen(const char *fname, const char *mode) { +#if defined(HAVE_LIBZ) + FILE *in = fl_fopen(fname, mode); + if (!in) return NULL; + int fd = dup(fileno(in)); + fclose(in); + return gzdopen(fd, mode); +#else + return NULL; +#endif +} + // // End of "$Id$". // |
