From 8c83d3e78c8738afcc2db12e98b26f6d58a6d9fa Mon Sep 17 00:00:00 2001 From: Xavier Robin <xavier.robin@unibas.ch> Date: Fri, 17 Mar 2023 11:17:25 +0100 Subject: [PATCH] fix: SCHWED-5481 handle SDF files with CRLF endings --- modules/io/src/mol/sdf_reader.cc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/io/src/mol/sdf_reader.cc b/modules/io/src/mol/sdf_reader.cc index c8394ab77..064c14f29 100644 --- a/modules/io/src/mol/sdf_reader.cc +++ b/modules/io/src/mol/sdf_reader.cc @@ -61,6 +61,13 @@ void SDFReader::Import(mol::EntityHandle& ent) while (std::getline(instream_,line)) { ++line_num; + // std::getline removes EOL character but may leave a DOS CR (\r) in Unix + size_t cr_pos = line.find("\r"); + if (cr_pos != String::npos) { + LOG_TRACE( "Remove CR@" << cr_pos); + line.erase(cr_pos); + } + if (line_num<=4) { ParseAndAddHeader(line, line_num, ent, editor); } else if (line_num<=atom_count_+4) { -- GitLab