Changeset 13626

Show
Ignore:
Timestamp:
01/30/08 11:24:50 (4 months ago)
Author:
warmerdam
Message:

Do not depend on papszSiblingFiles (#2158)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/gdal/frmts/raw/ehdrdataset.cpp

    r12790 r13626  
    948948    CPLString osPath = CPLGetPath( poOpenInfo->pszFilename ); 
    949949    CPLString osName = CPLGetBasename( poOpenInfo->pszFilename ); 
    950  
    951     int iFile = CSLFindString(poOpenInfo->papszSiblingFiles,  
     950    CPLString osHDRFilename; 
     951 
     952    if( poOpenInfo->papszSiblingFiles ) 
     953    { 
     954        int iFile = CSLFindString(poOpenInfo->papszSiblingFiles,  
    952955                              CPLFormFilename( NULL, osName, "hdr" ) ); 
    953     if( iFile < 0 ) // return if there is no corresponding .hdr file 
    954         return NULL; 
    955  
    956     CPLString osHDRFilename =  
    957         CPLFormFilename( osPath, poOpenInfo->papszSiblingFiles[iFile], NULL ); 
     956        if( iFile < 0 ) // return if there is no corresponding .hdr file 
     957            return NULL; 
     958         
     959        osHDRFilename =  
     960            CPLFormFilename( osPath, poOpenInfo->papszSiblingFiles[iFile],  
     961                             NULL ); 
     962    } 
     963    else 
     964    { 
     965        osHDRFilename = CPLFormCIFilename( NULL, osName, "hdr" ); 
     966    } 
    958967 
    959968    bSelectedHDR = EQUAL( osHDRFilename, poOpenInfo->pszFilename ); 
  • trunk/gdal/frmts/raw/genbindataset.cpp

    r12752 r13626  
    440440    CPLString osPath = CPLGetPath( poOpenInfo->pszFilename ); 
    441441    CPLString osName = CPLGetBasename( poOpenInfo->pszFilename ); 
    442  
    443     int iFile = CSLFindString(poOpenInfo->papszSiblingFiles,  
    444                               CPLFormFilename( NULL, osName, "hdr" ) ); 
    445     if( iFile < 0 ) // return if there is no corresponding .hdr file 
    446         return NULL; 
    447  
    448     CPLString osHDRFilename =  
    449         CPLFormFilename( osPath, poOpenInfo->papszSiblingFiles[iFile], NULL ); 
     442    CPLString osHDRFilename; 
     443 
     444    if( poOpenInfo->papszSiblingFiles ) 
     445    { 
     446        int iFile = CSLFindString(poOpenInfo->papszSiblingFiles,  
     447                                  CPLFormFilename( NULL, osName, "hdr" ) ); 
     448        if( iFile < 0 ) // return if there is no corresponding .hdr file 
     449            return NULL; 
     450 
     451        osHDRFilename =  
     452            CPLFormFilename( osPath, poOpenInfo->papszSiblingFiles[iFile], 
     453                             NULL ); 
     454    } 
     455    else 
     456    { 
     457        osHDRFilename = CPLFormCIFilename( NULL, osName, "hdr" ); 
     458    } 
    450459 
    451460    bSelectedHDR = EQUAL( osHDRFilename, poOpenInfo->pszFilename );