From 5e7fa6f4d14b68ebf361c0a37a0b548263f1978b Mon Sep 17 00:00:00 2001 From: Julien Schueller Date: Wed, 10 Jun 2026 09:50:57 +0200 Subject: [PATCH] FMI parsing: accept patch-level FMI 3.0.x versions Replace exact strcmp("3.0") with a prefix check that also accepts "3.0.1", "3.0.x", etc. as FMI 3.0, while rejecting "3.1", "3.2". Closes #217 --- src/XML/src/FMI/fmi_xml_context.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/XML/src/FMI/fmi_xml_context.c b/src/XML/src/FMI/fmi_xml_context.c index e7d5cacd..43d7cb51 100644 --- a/src/XML/src/FMI/fmi_xml_context.c +++ b/src/XML/src/FMI/fmi_xml_context.c @@ -105,7 +105,7 @@ void XMLCALL fmi_xml_parse_element_start(void *c, const char *elm, const char ** XML_StopParser(context->parser,0); return; } - else if( strcmp(fmiVersion, "3.0") == 0 ) { + else if( strncmp(fmiVersion, "3.0", 3) == 0 && (fmiVersion[3] == '\0' || fmiVersion[3] == '.') ) { jm_log_verbose(context->callbacks, MODULE, "XML specifies FMI 3.0"); context->fmi_version = fmi_version_3_0_enu; XML_StopParser(context->parser,0);