X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=bgzf.c;h=880d5afcbabee58a68fa8a998e68bc5509c6462f;hb=607d7a0ab79152be4153fa09861cfa889488f2c7;hp=7254fa21cb96a7b010688e6e6ccb37e4b7b0a474;hpb=5941304148f69879e1df9fbbdc749117a5bf2fac;p=samtools.git diff --git a/bgzf.c b/bgzf.c index 7254fa2..880d5af 100644 --- a/bgzf.c +++ b/bgzf.c @@ -401,7 +401,7 @@ static int worker_aux(worker_t *w) w->errcode = 0; for (i = w->i; i < w->mt->curr; i += w->mt->n_threads) { int clen = BGZF_MAX_BLOCK_SIZE; - if (bgzf_compress(w->buf, &clen, w->mt->blk[i], w->mt->len[i], w->fp->compress_level) != 0) + if (bgzf_compress(w->buf, &clen, w->mt->blk[i], w->mt->len[i], w->fp->compress_level) != 0) w->errcode |= BGZF_ERR_ZLIB; memcpy(w->mt->blk[i], w->buf, clen); w->mt->len[i] = clen; @@ -502,7 +502,7 @@ static int mt_flush(BGZF *fp) static int mt_lazy_flush(BGZF *fp) { mtaux_t *mt = (mtaux_t*)fp->mt; - mt_queue(fp); + if (fp->block_offset) mt_queue(fp); if (mt->curr == mt->n_blks) return mt_flush(fp); return -1;