diff --git a/Assets/Cryville/Common/Pdt/PdtInterpreter.cs b/Assets/Cryville/Common/Pdt/PdtInterpreter.cs index c405f33..d15754d 100644 --- a/Assets/Cryville/Common/Pdt/PdtInterpreter.cs +++ b/Assets/Cryville/Common/Pdt/PdtInterpreter.cs @@ -1,10 +1,10 @@ using Cryville.Common.Collections; using System; -using System.Collections; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text.RegularExpressions; +using CMath = System.Math; namespace Cryville.Common.Pdt { /// @@ -302,13 +302,13 @@ namespace Cryville.Common.Pdt { int pos = interpreter.Position; if (pos >= src.Length) return "Failed to interpret the PDT: There are some missing or redundant tokens"; int lineStartPos = src.LastIndexOf('\n', pos) + 1; - int previewStartPos = src.LastIndexOf('\n', pos, 64); + int previewStartPos = src.LastIndexOf('\n', pos, CMath.Min(64, pos)); if (previewStartPos == -1) { previewStartPos = pos - 64; if (previewStartPos < 0) previewStartPos = 0; } else previewStartPos++; - int previewEndPos = src.IndexOf('\n', pos, 64); + int previewEndPos = src.IndexOf('\n', pos, CMath.Min(64, src.Length - pos)); if (previewEndPos == -1) { previewEndPos = pos + 64; if (previewEndPos > src.Length) previewEndPos = src.Length;