diff --git a/ci/travis/conda/muparser.patch b/ci/travis/conda/muparser.patch new file mode 100644 index 000000000000..af94f61449d1 --- /dev/null +++ b/ci/travis/conda/muparser.patch @@ -0,0 +1,12 @@ +diff --git a/recipe/meta.yaml b/recipe/meta.yaml +index d3bbc43..8bef37d 100644 +--- a/recipe/meta.yaml ++++ b/recipe/meta.yaml +@@ -58,6 +58,7 @@ requirements: + - libwebp-base + - libxml2 + - lz4-c ++ - muparser + - openssl + - pcre2 + - proj diff --git a/ci/travis/conda/setup.sh b/ci/travis/conda/setup.sh index eb08b2531a5c..8d9d7217fc43 100755 --- a/ci/travis/conda/setup.sh +++ b/ci/travis/conda/setup.sh @@ -20,6 +20,7 @@ git clone https://github.com/conda-forge/gdal-feedstock.git cd gdal-feedstock patch -p1 < ../ci/travis/conda/libgdal-adbc.patch +patch -p1 < ../ci/travis/conda/muparser.patch cat > recipe/recipe_clobber.yaml <tif_curdir = 0; /* first directory of new chain */ /* add this offset to new IFD list */ - _TIFFCheckDirNumberAndOffset(tif, tif->tif_curdir, diroff); + retval = _TIFFCheckDirNumberAndOffset(tif, tif->tif_curdir, diroff); } /* To be able to return from SubIFD or custom-IFD to main-IFD */ tif->tif_setdirectory_force_absolute = TRUE; diff --git a/frmts/vrt/vrtdataset.cpp b/frmts/vrt/vrtdataset.cpp index 2f3244f89e07..2ab37fea1f67 100644 --- a/frmts/vrt/vrtdataset.cpp +++ b/frmts/vrt/vrtdataset.cpp @@ -1066,17 +1066,17 @@ GDALDataset *VRTDataset::OpenVRTProtocol(const char *pszSpec) bool bFound = false; for (int j = 0; j < nSubdatasets && papszSubdatasets[j]; j += 2) { - const std::string osSubdatasetSource( - strstr(papszSubdatasets[j], "=") + 1); - if (osSubdatasetSource.empty()) + const char *pszEqual = strchr(papszSubdatasets[j], '='); + if (!pszEqual) { CPLError(CE_Failure, CPLE_IllegalArg, "'sd_name:' failed to obtain " "subdataset string "); return nullptr; } + const char *pszSubdatasetSource = pszEqual + 1; GDALSubdatasetInfoH info = - GDALGetSubdatasetInfo(osSubdatasetSource.c_str()); + GDALGetSubdatasetInfo(pszSubdatasetSource); char *component = info ? GDALSubdatasetInfoGetSubdatasetComponent(info) : nullptr; @@ -1088,7 +1088,7 @@ GDALDataset *VRTDataset::OpenVRTProtocol(const char *pszSpec) if (bFound) { poSrcDS.reset(GDALDataset::Open( - osSubdatasetSource.c_str(), + pszSubdatasetSource, GDAL_OF_RASTER | GDAL_OF_VERBOSE_ERROR, aosAllowedDrivers.List(), aosOpenOptions.List(), nullptr)); diff --git a/port/CMakeLists.txt b/port/CMakeLists.txt index c77e5c6b8df8..1d566b461d57 100644 --- a/port/CMakeLists.txt +++ b/port/CMakeLists.txt @@ -337,9 +337,7 @@ if (NOT CMAKE_CROSSCOMPILING AND BUILD_VSIPRELOAD AND "${CMAKE_SYSTEM}" MATCHES add_library(vsipreload MODULE vsipreload.cpp) set_target_properties(vsipreload PROPERTIES PREFIX "") target_link_libraries(vsipreload PRIVATE $ ${CMAKE_DL_LIBS}) - if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.16) - set_property(SOURCE vsipreload.cpp PROPERTY SKIP_UNITY_BUILD_INCLUSION ON) - endif () + set_property(SOURCE vsipreload.cpp PROPERTY SKIP_UNITY_BUILD_INCLUSION ON) # For musl / Alpine foreach(_header IN ITEMS stdio.h fcntl.h unistd.h dirent.h sys/stat.h)