From 89a1573510f741f20d5a350eb27a1000e26af90b Mon Sep 17 00:00:00 2001 From: Daniel Walder Date: Tue, 21 Jan 2025 17:12:17 +1000 Subject: [PATCH] Fix another parsing issue when serialised object keys/values are unquoted and contain numbers Fixes #41 (again) --- Sledge.Formats.Tests/Valve/TestSerialisedObject.cs | 4 ++++ Sledge.Formats/Sledge.Formats.csproj | 4 ++-- Sledge.Formats/Valve/SerialisedObjectFormatter.cs | 1 - 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Sledge.Formats.Tests/Valve/TestSerialisedObject.cs b/Sledge.Formats.Tests/Valve/TestSerialisedObject.cs index 88d2fe5..96cb312 100644 --- a/Sledge.Formats.Tests/Valve/TestSerialisedObject.cs +++ b/Sledge.Formats.Tests/Valve/TestSerialisedObject.cs @@ -228,6 +228,8 @@ A B "G" "H" $I { } "$J" { } + 1 2 + 3 4 } """; @@ -250,5 +252,7 @@ A B Assert.AreEqual(0, output[0].Children[0].Children.Count); Assert.AreEqual("$J", output[0].Children[1].Name); Assert.AreEqual(0, output[0].Children[1].Children.Count); + Assert.AreEqual("2", output[0].Get("1")); + Assert.AreEqual("4", output[0].Get("3")); } } \ No newline at end of file diff --git a/Sledge.Formats/Sledge.Formats.csproj b/Sledge.Formats/Sledge.Formats.csproj index 1d368a9..312016b 100644 --- a/Sledge.Formats/Sledge.Formats.csproj +++ b/Sledge.Formats/Sledge.Formats.csproj @@ -13,10 +13,10 @@ https://github.com/LogicAndTrick/sledge-formats Git half-life quake valve liblist vdf - Fix parsing issues when serialised object keys/values are unquoted and contain special characters + Fix another parsing issue when serialised object keys/values are unquoted and contain numbers MIT - 1.3.1 + 1.3.2 diff --git a/Sledge.Formats/Valve/SerialisedObjectFormatter.cs b/Sledge.Formats/Valve/SerialisedObjectFormatter.cs index 8b5e54e..f904fdd 100644 --- a/Sledge.Formats/Valve/SerialisedObjectFormatter.cs +++ b/Sledge.Formats/Valve/SerialisedObjectFormatter.cs @@ -120,7 +120,6 @@ static SerialisedObjectFormatter() Tokeniser = new Tokeniser( new SingleLineCommentTokenReader(), new StringTokenReader(), - new UnsignedIntegerTokenReader(), new SymbolTokenReader(Symbols), new NameTokenReader(IsValidNameCharacter, IsValidNameCharacter) );