You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
2.4 KiB

diff -urN orig/frmts/jpeg2000/jpeg2000_vsil_io.cpp dwok/frmts/jpeg2000/jpeg2000_vsil_io.cpp
--- orig/frmts/jpeg2000/jpeg2000_vsil_io.cpp 2016-01-26 16:21:48.000000000 +0100
+++ dwok/frmts/jpeg2000/jpeg2000_vsil_io.cpp 2016-11-16 21:53:15.280302723 +0100
@@ -179,40 +179,25 @@
* Buffer initialization code.
\******************************************************************************/
-static void JPEG2000_VSIL_jas_stream_initbuf(jas_stream_t *stream, int bufmode, char *buf,
- int bufsize)
+static void JPEG2000_VSIL_jas_stream_initbuf(jas_stream_t *stream, int bufmode)
{
/* If this function is being called, the buffer should not have been
initialized yet. */
assert(!stream->bufbase_);
if (bufmode != JAS_STREAM_UNBUF) {
- /* The full- or line-buffered mode is being employed. */
- if (!buf) {
- /* The caller has not specified a buffer to employ, so allocate
- one. */
- if ((stream->bufbase_ = (unsigned char*)jas_malloc(JAS_STREAM_BUFSIZE +
- JAS_STREAM_MAXPUTBACK))) {
- stream->bufmode_ |= JAS_STREAM_FREEBUF;
- stream->bufsize_ = JAS_STREAM_BUFSIZE;
- } else {
- /* The buffer allocation has failed. Resort to unbuffered
- operation. */
- stream->bufbase_ = stream->tinybuf_;
- stream->bufsize_ = 1;
- }
+ if ((stream->bufbase_ = (unsigned char*)jas_malloc(JAS_STREAM_BUFSIZE +
+ JAS_STREAM_MAXPUTBACK))) {
+ stream->bufmode_ |= JAS_STREAM_FREEBUF;
+ stream->bufsize_ = JAS_STREAM_BUFSIZE;
} else {
- /* The caller has specified a buffer to employ. */
- /* The buffer must be large enough to accommodate maximum
- putback. */
- assert(bufsize > JAS_STREAM_MAXPUTBACK);
- stream->bufbase_ = JAS_CAST(uchar *, buf);
- stream->bufsize_ = bufsize - JAS_STREAM_MAXPUTBACK;
+ /* The buffer allocation has failed. Resort to unbuffered
+ operation. */
+ stream->bufbase_ = stream->tinybuf_;
+ stream->bufsize_ = 1;
}
} else {
/* The unbuffered mode is being employed. */
- /* A buffer should not have been supplied by the caller. */
- assert(!buf);
/* Use a trivial one-character buffer. */
stream->bufbase_ = stream->tinybuf_;
stream->bufsize_ = 1;
@@ -282,7 +267,7 @@
}
/* By default, use full buffering for this type of stream. */
- JPEG2000_VSIL_jas_stream_initbuf(stream, JAS_STREAM_FULLBUF, 0, 0);
+ JPEG2000_VSIL_jas_stream_initbuf(stream, JAS_STREAM_FULLBUF);
return stream;
}