diff --git a/external/mdal/frmts/mdal_2dm.cpp b/external/mdal/frmts/mdal_2dm.cpp index 243cb12c403..76b162ac7d2 100644 --- a/external/mdal/frmts/mdal_2dm.cpp +++ b/external/mdal/frmts/mdal_2dm.cpp @@ -402,7 +402,7 @@ void MDAL::Driver2dm::save( const std::string &fileName, const std::string &, MD for ( size_t j = 0; j < 2; ++j ) { line.append( " " ); - line.append( MDAL::doubleToString( vertex[j], 8, true ) ); + line.append( MDAL::doubleToString( vertex[j], 16 ) ); } line.append( " " ); line.append( MDAL::doubleToString( vertex[2] ) ); diff --git a/external/mdal/frmts/mdal_hec2d.cpp b/external/mdal/frmts/mdal_hec2d.cpp index dfcd29e729b..eabe21d4e0b 100644 --- a/external/mdal/frmts/mdal_hec2d.cpp +++ b/external/mdal/frmts/mdal_hec2d.cpp @@ -122,7 +122,7 @@ static MDAL::DateTime convertToDateTime( const std::string strDateTime ) { //HECRAS format date is 01JAN2000 - auto data = MDAL::split( strDateTime, " " ); + auto data = MDAL::split( strDateTime, ' ' ); if ( data.size() < 2 ) return MDAL::DateTime(); diff --git a/external/mdal/frmts/mdal_mike21.cpp b/external/mdal/frmts/mdal_mike21.cpp index 16252160710..51991fe9058 100644 --- a/external/mdal/frmts/mdal_mike21.cpp +++ b/external/mdal/frmts/mdal_mike21.cpp @@ -23,13 +23,6 @@ #define DRIVER_NAME "Mike21" -// function to split using regex, by default split on whitespace characters -std::vector regex_split( const std::string &input, const std::regex &split_regex = std::regex{"\\s+"} ) -{ - std::sregex_token_iterator iter( input.begin(), input.end(), split_regex, -1 ); - std::sregex_token_iterator end; - return {iter, end}; -} static bool parse_vertex_id_gaps( std::map &vertexIDtoIndex, size_t vertexIndex, size_t vertexID ) { @@ -246,7 +239,8 @@ std::unique_ptr MDAL::DriverMike21::load( const std::string &meshFil { if ( 0 < lineNumber && lineNumber < mVertexCount + 1 ) { - chunks = regex_split( MDAL::trim( line ) ); + std::replace( line.begin(), line.end(), '\t', ' ' ); + chunks = MDAL::split( MDAL::trim( line ), ' ' ); if ( chunks.size() != 5 ) { MDAL::Log::error( MDAL_Status::Err_InvalidData, name(), "vertex line in invalid format." ); @@ -283,7 +277,8 @@ std::unique_ptr MDAL::DriverMike21::load( const std::string &meshFil if ( mVertexCount + 1 < lineNumber ) { - chunks = regex_split( MDAL::trim( line ) ); + std::replace( line.begin(), line.end(), '\t', ' ' ); + chunks = MDAL::split( MDAL::trim( line ), ' ' ); assert( faceIndex < faceCount ); size_t faceVertexCount = chunks.size() - 1; diff --git a/external/mdal/frmts/mdal_ugrid.cpp b/external/mdal/frmts/mdal_ugrid.cpp index d4a2c7e5828..616049dc87d 100644 --- a/external/mdal/frmts/mdal_ugrid.cpp +++ b/external/mdal/frmts/mdal_ugrid.cpp @@ -461,7 +461,7 @@ void MDAL::DriverUgrid::ignore1DMeshVariables( const std::string &mesh, std::set for ( const std::string &coordinateIt : coordinateVarsToIgnore ) { std::string coordinatesVar = mNcFile->getAttrStr( mesh, coordinateIt ); - std::vector allCoords = MDAL::split( coordinatesVar, " " ); + std::vector allCoords = MDAL::split( coordinatesVar, ' ' ); for ( const std::string &var : allCoords ) { @@ -1041,7 +1041,7 @@ void MDAL::DriverUgrid::writeVariables( MDAL::Mesh *mesh, const std::string &mes } else { - std::vector words = MDAL::split( mesh->crs(), ":" ); + std::vector words = MDAL::split( mesh->crs(), ':' ); if ( words[0] == "EPSG" && words.size() > 1 ) { diff --git a/external/mdal/frmts/mdal_xdmf.cpp b/external/mdal/frmts/mdal_xdmf.cpp index 3432b0280a2..56885d28a35 100644 --- a/external/mdal/frmts/mdal_xdmf.cpp +++ b/external/mdal/frmts/mdal_xdmf.cpp @@ -359,7 +359,7 @@ void MDAL::DriverXdmf::hdf5NamePath( const std::string &dataItemPath, std::strin path.erase( 0, startpos ); } - std::vector chunks = MDAL::split( path, ":" ); + std::vector chunks = MDAL::split( path, ':' ); if ( chunks.size() != 2 ) { throw MDAL::Error( MDAL_Status::Err_UnknownFormat, "must be in format fileName:hdfPath" ); diff --git a/external/mdal/mdal.cpp b/external/mdal/mdal.cpp index 6faa0d42894..7e72827a231 100644 --- a/external/mdal/mdal.cpp +++ b/external/mdal/mdal.cpp @@ -21,7 +21,7 @@ static const char *EMPTY_STR = ""; const char *MDAL_Version() { - return "1.3.0"; + return "1.3.1"; } MDAL_Status MDAL_LastStatus() diff --git a/external/mdal/mdal_utils.cpp b/external/mdal/mdal_utils.cpp index b9ee0482d41..ff46ffa33e2 100644 --- a/external/mdal/mdal_utils.cpp +++ b/external/mdal/mdal_utils.cpp @@ -964,7 +964,7 @@ MDAL::DateTime MDAL::parseCFReferenceTime( const std::string &timeInformation, c if ( strings.size() > 3 ) { std::string timeString = strings[3]; - auto timeStringsValue = MDAL::split( timeString, ":" ); + auto timeStringsValue = MDAL::split( timeString, ':' ); if ( timeStringsValue.size() == 3 ) { hours = MDAL::toInt( timeStringsValue[0] );