From 7ddc622d354318f360821d9c7e277402dee6206b Mon Sep 17 00:00:00 2001 From: Andrey Date: Sat, 9 Mar 2024 17:19:08 -0500 Subject: [PATCH] only: EPIC: Improve toolset for default tune canned tune generation #4871 --- .../java/com/opensr5/ini/field/StringIniField.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/java_console/inifile/src/main/java/com/opensr5/ini/field/StringIniField.java b/java_console/inifile/src/main/java/com/opensr5/ini/field/StringIniField.java index 96ec2e0410..e3c88650ab 100644 --- a/java_console/inifile/src/main/java/com/opensr5/ini/field/StringIniField.java +++ b/java_console/inifile/src/main/java/com/opensr5/ini/field/StringIniField.java @@ -2,6 +2,7 @@ package com.opensr5.ini.field; import com.opensr5.ConfigurationImage; import com.rusefi.tune.xml.Constant; +import org.jetbrains.annotations.NotNull; import java.util.LinkedList; @@ -22,6 +23,19 @@ public class StringIniField extends IniField { public String getValue(ConfigurationImage image) { String value = new String(image.getContent(), getOffset(), size); value = value.trim(); + value = trimAtZeroSymbol(value); + return value; + } + + @NotNull + private static String trimAtZeroSymbol(String value) { + for (int i = 0; i < value.length(); i++) { + // C/C++ zero string is terminated but java XML looks for all 'size' of symbols, let's convert + if (value.charAt(i) == 0) { + value = value.substring(0, i); + break; + } + } return value; }