~mdw
/
sgt
/
halibut
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
OS X Lion's compiler spotted two missing casts, where we use %hu and
[sgt/halibut]
/
deflate.c
diff --git
a/deflate.c
b/deflate.c
index
5bb3cce
..
d614c37
100644
(file)
--- a/
deflate.c
+++ b/
deflate.c
@@
-2447,9
+2447,12
@@
int deflate_decompress_data(deflate_decompress_ctx *dctx,
error = DEFLATE_ERR_UNCOMP_HDR;
goto finished;
}
error = DEFLATE_ERR_UNCOMP_HDR;
goto finished;
}
- if (dctx->uncomplen == 0)
- dctx->state = OUTSIDEBLK; /* block is empty */
- else
+ if (dctx->uncomplen == 0) {/* block is empty */
+ if (dctx->lastblock)
+ dctx->state = END;
+ else
+ dctx->state = OUTSIDEBLK;
+ } else
dctx->state = UNCOMP_DATA;
break;
case UNCOMP_DATA:
dctx->state = UNCOMP_DATA;
break;
case UNCOMP_DATA:
@@
-2462,8
+2465,12
@@
int deflate_decompress_data(deflate_decompress_ctx *dctx,
#endif
emit_char(dctx, dctx->bits & 0xFF);
EATBITS(8);
#endif
emit_char(dctx, dctx->bits & 0xFF);
EATBITS(8);
- if (--dctx->uncomplen == 0)
- dctx->state = OUTSIDEBLK; /* end of uncompressed block */
+ if (--dctx->uncomplen == 0) { /* end of uncompressed block */
+ if (dctx->lastblock)
+ dctx->state = END;
+ else
+ dctx->state = OUTSIDEBLK;
+ }
break;
case END:
/*
break;
case END:
/*