Skip to content

Commit

Permalink
GDALAllRegister(): fix registration order of raw drivers (master only)
Browse files Browse the repository at this point in the history
  • Loading branch information
rouault committed Dec 1, 2023
1 parent 80cc463 commit 750d622
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 7 deletions.
10 changes: 4 additions & 6 deletions frmts/gdalallregister.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@
extern "C" void DeclareExternalDeferredPlugins(void);
#endif

extern "C" void CPL_DLL GDALRegister_raw();
extern "C" void CPL_DLL GDALRegister_raw_no_sidecar();
extern "C" void CPL_DLL GDALRegister_raw_with_sidecar();

/************************************************************************/
/* GDALRegisterPlugin() */
Expand Down Expand Up @@ -647,7 +648,7 @@ void CPL_STDCALL GDALAllRegister()
/* -------------------------------------------------------------------- */

#ifdef FRMT_raw
GDALRegister_raw();
GDALRegister_raw_no_sidecar();
#endif

/* -------------------------------------------------------------------- */
Expand Down Expand Up @@ -807,10 +808,7 @@ void CPL_STDCALL GDALAllRegister()
/* -------------------------------------------------------------------- */

#ifdef FRMT_raw
GDALRegister_GenBin();
GDALRegister_ENVI();
GDALRegister_EHdr();
GDALRegister_ISCE();
GDALRegister_raw_with_sidecar();
#endif

#ifdef FRMT_zarr
Expand Down
13 changes: 12 additions & 1 deletion frmts/raw/rawdrivers.cpp
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
#include "gdal_frmts.h"

extern "C" void CPL_DLL GDALRegister_raw();
extern "C" void CPL_DLL GDALRegister_raw_no_sidecar();
extern "C" void CPL_DLL GDALRegister_raw_with_sidecar();

void GDALRegister_raw()
void GDALRegister_raw_no_sidecar()
{
GDALRegister_PNM();
GDALRegister_DOQ1();
Expand Down Expand Up @@ -31,11 +33,20 @@ void GDALRegister_raw()
GDALRegister_BYN();
GDALRegister_NOAA_B();
GDALRegister_NSIDCbin();
}

void GDALRegister_raw_with_sidecar()
{
// Drivers that that absolutely need to look for side car files in their
// Identify()/Open() procedure.
GDALRegister_GenBin();
GDALRegister_ENVI();
GDALRegister_EHdr();
GDALRegister_ISCE();
}

void GDALRegister_raw()
{
GDALRegister_raw_no_sidecar();
GDALRegister_raw_with_sidecar();
}

0 comments on commit 750d622

Please sign in to comment.