Skip to content

Commit 577c050

Browse files
Merge pull request #501 from tannergooding/main
Fix an issue with string escaping
2 parents 5f6decb + 6f92dc4 commit 577c050

File tree

2 files changed

+2
-3
lines changed

2 files changed

+2
-3
lines changed

sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.VisitDecl.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3336,7 +3336,7 @@ private void VisitVarDecl(VarDecl varDecl)
33363336
_ = nativeTypeNameBuilder.Append(' ');
33373337

33383338
var macroValue = GetSourceRangeContents(varDecl.TranslationUnit.Handle, varDecl.Init.Extent);
3339-
_ = nativeTypeNameBuilder.Append(macroValue);
3339+
_ = nativeTypeNameBuilder.Append(macroValue.Replace(@"\\", "\\", StringComparison.Ordinal));
33403340

33413341
nativeTypeName = nativeTypeNameBuilder.ToString();
33423342
}

sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2344,8 +2344,7 @@ private string EscapeAndStripName(string name)
23442344

23452345
// We first replace already escaped characters with their raw counterpart
23462346
// We then re-escape any raw characters. This ensures we don't end up with double escaped backslashes
2347-
internal static string EscapeString(string value) => value.Replace(@"\\", "\\", StringComparison.Ordinal)
2348-
.Replace(@"\0", "\0", StringComparison.Ordinal)
2347+
internal static string EscapeString(string value) => value.Replace(@"\0", "\0", StringComparison.Ordinal)
23492348
.Replace(@"\r", "\r", StringComparison.Ordinal)
23502349
.Replace(@"\n", "\n", StringComparison.Ordinal)
23512350
.Replace(@"\t", "\t", StringComparison.Ordinal)

0 commit comments

Comments
 (0)