# Check for bzip2 library.
AC_CHECK_HEADERS([bzlib.h],[
- AC_CHECK_LIB(bz2, bzread, [WITH_BZ2_LIB=-lbz2],
- [
- AC_CHECK_LIB(bz2, BZ2_bzread,[
- WITH_BZ2_LIB="-lbz2"
- AC_DEFINE(HAVE_BZ2_1_0, 1, [Define as 1 if you bzip2 1.0])
- ])
- ])
+ AC_CHECK_LIB(bz2, BZ2_bzread, [WITH_BZ2_LIB=-lbz2])
])
AC_SUBST(WITH_BZ2_LIB)
#include <bzlib.h>
-#ifdef HAVE_BZ2_1_0
-# define bzopen BZ2_bzopen
-# define bzclose BZ2_bzclose
-# define bzdopen BZ2_bzdopen
-# define bzerror BZ2_bzerror
-# define bzflush BZ2_bzflush
-# define bzread BZ2_bzread
-# define bzwrite BZ2_bzwrite
-#endif /* HAVE_BZ2_1_0 */
-
static void * bzdFileno(FD_t fd)
{
return iotFileno(fd, bzdio);
{
FD_t fd;
BZFILE *bzfile;;
- if ((bzfile = bzopen(path, mode)) == NULL)
+ if ((bzfile = BZ2_bzopen(path, mode)) == NULL)
return NULL;
fd = fdNew(path);
fdPop(fd); fdPush(fd, bzdio, bzfile, -1);
fdno = fdFileno(fd);
fdSetFdno(fd, -1); /* XXX skip the fdio close */
if (fdno < 0) return NULL;
- bzfile = bzdopen(fdno, fmode);
+ bzfile = BZ2_bzdopen(fdno, fmode);
if (bzfile == NULL) return NULL;
fdPush(fd, bzdio, bzfile, fdno); /* Push bzdio onto stack */
static int bzdFlush(FD_t fd)
{
- return bzflush(bzdFileno(fd));
+ return BZ2_bzflush(bzdFileno(fd));
}
static ssize_t bzdRead(FD_t fd, void * buf, size_t count)
bzfile = bzdFileno(fd);
if (bzfile)
- rc = bzread(bzfile, buf, count);
+ rc = BZ2_bzread(bzfile, buf, count);
if (rc == -1) {
int zerror = 0;
if (bzfile)
- fd->errcookie = bzerror(bzfile, &zerror);
+ fd->errcookie = BZ2_bzerror(bzfile, &zerror);
}
return rc;
}
ssize_t rc;
bzfile = bzdFileno(fd);
- rc = bzwrite(bzfile, (void *)buf, count);
+ rc = BZ2_bzwrite(bzfile, (void *)buf, count);
if (rc == -1) {
int zerror = 0;
- fd->errcookie = bzerror(bzfile, &zerror);
+ fd->errcookie = BZ2_bzerror(bzfile, &zerror);
}
return rc;
}
if (bzfile == NULL) return -2;
/* FIX: check rc */
- bzclose(bzfile);
+ BZ2_bzclose(bzfile);
rc = 0; /* XXX FIXME */
/* XXX TODO: preserve fd if errors */
if (fd) {
if (rc == -1) {
int zerror = 0;
- fd->errcookie = bzerror(bzfile, &zerror);
+ fd->errcookie = BZ2_bzerror(bzfile, &zerror);
}
}