summarylogtreecommitdiffstats
path: root/jpeg2000-issue-vendor.patch
blob: d44f5b686aa6d83ee9d7f975b7dff6df7f5b2571 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
unchanged:
--- a/gdal/frmts/jpeg2000/jpeg2000dataset.cpp
+++ b/gdal/frmts/jpeg2000/jpeg2000dataset.cpp
@@ -484,7 +484,7 @@ int JPEG2000Dataset::DecodeImage()
     /* the JP2 boxes match the ones of the code stream */
     if (nBands != 0)
     {
-        if (nBands != jas_image_numcmpts( psImage ))
+        if (nBands != static_cast<int>(jas_image_numcmpts( psImage )))
         {
             CPLError(CE_Failure, CPLE_AppDefined,
                      "The number of components indicated in the IHDR box (%d) mismatch "
@@ -595,7 +595,7 @@ GDALDataset *JPEG2000Dataset::Open( GDALOpenInfo * poOpenInfo )
 
 {
     int         iFormat;
-    char        *pszFormatName = nullptr;
+    const char *pszFormatName = nullptr;
 
     if (!Identify(poOpenInfo))
         return nullptr;
only in patch2:
unchanged:
--- a/gdal/frmts/jpeg2000/jpeg2000_vsil_io.cpp
+++ b/gdal/frmts/jpeg2000/jpeg2000_vsil_io.cpp
@@ -94,13 +94,23 @@ typedef struct {
 * File stream object.
 \******************************************************************************/
 
+// PRIjas_seqent macro is defined since Jasper 2.0.17
+
+#ifndef PRIjas_seqent
 static int JPEG2000_VSIL_read(jas_stream_obj_t *obj, char *buf, int cnt)
+#else
+static int JPEG2000_VSIL_read(jas_stream_obj_t *obj, char *buf, unsigned cnt)
+#endif
 {
     jas_stream_VSIFL_t *fileobj = JAS_CAST(jas_stream_VSIFL_t *, obj);
     return static_cast<int>(VSIFReadL(buf, 1, cnt, fileobj->fp));
 }
 
+#ifndef PRIjas_seqent
-static int JPEG2000_VSIL_write(jas_stream_obj_t *obj, char *buf, int cnt)
+static int JPEG2000_VSIL_write(jas_stream_obj_t *obj, const char *buf, int cnt)
+#else
+static int JPEG2000_VSIL_write(jas_stream_obj_t *obj, const char *buf, unsigned int cnt)
+#endif
 {
     jas_stream_VSIFL_t *fileobj = JAS_CAST(jas_stream_VSIFL_t *, obj);
     return static_cast<int>(VSIFWriteL(buf, 1, cnt, fileobj->fp));