SDTSPolygonReader *SDTSTransfer::GetLayerPolygonReader( int iEntry ) { SDTSPolygonReader *poPolyReader; if( iEntry < 0 || iEntry >= nLayers || oCATD.GetEntryType( panLayerCATDEntry[iEntry] ) != SLTPoly ) { return NULL; } poPolyReader = new SDTSPolygonReader(); if( !poPolyReader->Open( oCATD.GetEntryFilePath( panLayerCATDEntry[iEntry] ) ) ) { delete poPolyReader; return NULL; } else { return poPolyReader; } }
SDTSPolygonReader *SDTSTransfer::GetLayerPolygonReader( int iEntry ) { if( iEntry < 0 || iEntry >= nLayers || oCATD.GetEntryType( panLayerCATDEntry[iEntry] ) != SLTPoly ) { return nullptr; } SDTSPolygonReader *poPolyReader = new SDTSPolygonReader(); if( !poPolyReader->Open( oCATD.GetEntryFilePath( panLayerCATDEntry[iEntry] ) ) ) { panLayerCATDEntry[iEntry] = SLTUnknown; // to prevent further attempt delete poPolyReader; return nullptr; } return poPolyReader; }