From bf427cb1d8ed8f43cb0b8e03ba8cc9b2f3aefbab Mon Sep 17 00:00:00 2001
From: Xavier Robin <xavalias-github@xavier.robin.name>
Date: Thu, 1 Jun 2023 18:58:17 +0200
Subject: [PATCH] feat: detect version and print useful message if unsupported

---
 modules/io/src/mol/sdf_reader.cc | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/modules/io/src/mol/sdf_reader.cc b/modules/io/src/mol/sdf_reader.cc
index 9c832e6ae..3c28e279c 100644
--- a/modules/io/src/mol/sdf_reader.cc
+++ b/modules/io/src/mol/sdf_reader.cc
@@ -159,6 +159,11 @@ void SDFReader::ParseAndAddHeader(const String& line, int line_num,
       break;
     case 4:  // counts line
     {
+      String version_str=line.substr(34, 5);
+      if (version_str != "V2000") {
+        String msg="Unsupported SDF version: %s.";
+        throw IOException(str(format(msg) % version_str));
+      }
       String s_anum=line.substr(0,3);
       try {
         atom_count_=boost::lexical_cast<int>(boost::trim_copy(s_anum));
-- 
GitLab