73 string err =
"Unable to uncompress bz2 files, feature not built. Check config.h in bes directory for HAVE_BZLIB_H flag set to 1";
76 FILE *src = fopen( src_name.c_str(),
"rb" );
79 char *serr = strerror( errno );
80 string err =
"Unable to open the compressed file "
88 err.append(
"unknown error occurred" );
102 bsrc = BZ2_bzReadOpen( &bzerror, src, verbosity, small, NULL, 0 );
105 const char *berr = BZ2_bzerror( bsrc, &bzerror );
106 string err =
"bzReadOpen failed on " + src_name +
": ";
113 err.append(
"Unknown error" );
123 int bytes_read = BZ2_bzRead( &bzerror, bsrc, in, CHUNK );
124 if( bzerror != BZ_OK && bzerror != BZ_STREAM_END )
126 const char *berr = BZ2_bzerror( bsrc, &bzerror );
127 string err =
"bzRead failed on " + src_name +
": ";
134 err.append(
"Unknown error" );
137 BZ2_bzReadClose( &bzerror, bsrc );
143 if( bzerror == BZ_STREAM_END )
147 int bytes_written = write(fd, in, bytes_read);
148 if( bytes_written < bytes_read )
151 strm <<
"Error writing uncompressed data: "
152 <<
"wrote " << bytes_written
153 <<
" instead of " << bytes_read;
155 BZ2_bzReadClose( &bzerror, bsrc );
162 BZ2_bzReadClose( &bzerror, bsrc );