|
@@ -40,6 +40,13 @@ static void list_formats(void)
|
|
|
GDALDriverH hDriver = GDALGetDriver(iDr);
|
|
|
const char *pszRWFlag;
|
|
|
|
|
|
+#ifdef GDAL_DCAP_RASTER
|
|
|
+ /* Starting with GDAL 2.0, vector drivers can also be returned */
|
|
|
+ /* Only keep raster drivers */
|
|
|
+ if (!GDALGetMetadataItem(hDriver, GDAL_DCAP_RASTER, NULL))
|
|
|
+ continue;
|
|
|
+#endif
|
|
|
+
|
|
|
if (GDALGetMetadataItem(hDriver, GDAL_DCAP_CREATE, NULL))
|
|
|
pszRWFlag = "rw+";
|
|
|
else if (GDALGetMetadataItem(hDriver, GDAL_DCAP_CREATECOPY, NULL))
|
|
@@ -63,6 +70,13 @@ static char *format_list(void)
|
|
|
for (i = 0; i < GDALGetDriverCount(); i++) {
|
|
|
GDALDriverH driver = GDALGetDriver(i);
|
|
|
|
|
|
+#ifdef GDAL_DCAP_RASTER
|
|
|
+ /* Starting with GDAL 2.0, vector drivers can also be returned */
|
|
|
+ /* Only keep raster drivers */
|
|
|
+ if (!GDALGetMetadataItem(driver, GDAL_DCAP_RASTER, NULL))
|
|
|
+ continue;
|
|
|
+#endif
|
|
|
+
|
|
|
if (!GDALGetMetadataItem(driver, GDAL_DCAP_CREATE, NULL) &&
|
|
|
!GDALGetMetadataItem(driver, GDAL_DCAP_CREATECOPY, NULL))
|
|
|
continue;
|
|
@@ -77,6 +91,13 @@ static char *format_list(void)
|
|
|
GDALDriverH driver = GDALGetDriver(i);
|
|
|
const char *name;
|
|
|
|
|
|
+#ifdef GDAL_DCAP_RASTER
|
|
|
+ /* Starting with GDAL 2.0, vector drivers can also be returned */
|
|
|
+ /* Only keep raster drivers */
|
|
|
+ if (!GDALGetMetadataItem(driver, GDAL_DCAP_RASTER, NULL))
|
|
|
+ continue;
|
|
|
+#endif
|
|
|
+
|
|
|
if (!GDALGetMetadataItem(driver, GDAL_DCAP_CREATE, NULL) &&
|
|
|
!GDALGetMetadataItem(driver, GDAL_DCAP_CREATECOPY, NULL))
|
|
|
continue;
|