Browse Source

Fix ArgumentOutOfRangeException in search when trying to search for metadata tokens and typing "@" into the search box.

pull/2737/head
Siegfried Pammer 3 years ago
parent
commit
3f09fc1385
  1. 5
      ILSpy/Search/SearchPane.cs

5
ILSpy/Search/SearchPane.cs

@ -321,14 +321,17 @@ namespace ICSharpCode.ILSpy.Search
prefixLength = part.Length; prefixLength = part.Length;
} }
int delimiterLength;
// Find end of prefix // Find end of prefix
if (part.StartsWith("@", StringComparison.Ordinal)) if (part.StartsWith("@", StringComparison.Ordinal))
{ {
prefixLength = 1; prefixLength = 1;
delimiterLength = 0;
} }
else else
{ {
prefixLength = part.IndexOf(':', 0, prefixLength); prefixLength = part.IndexOf(':', 0, prefixLength);
delimiterLength = 1;
} }
string prefix; string prefix;
if (prefixLength <= 0) if (prefixLength <= 0)
@ -342,7 +345,7 @@ namespace ICSharpCode.ILSpy.Search
} }
// unescape quotes // unescape quotes
string searchTerm = part.Substring(prefixLength + 1).Trim(); string searchTerm = part.Substring(prefixLength + delimiterLength).Trim();
if (searchTerm.Length > 0) if (searchTerm.Length > 0)
{ {
searchTerm = NativeMethods.CommandLineToArgumentArray(searchTerm)[0]; searchTerm = NativeMethods.CommandLineToArgumentArray(searchTerm)[0];

Loading…
Cancel
Save