From 13e20845a23b412d45999a56fd08fe00834d50b7 Mon Sep 17 00:00:00 2001 From: Christian Resma Helle Date: Tue, 28 May 2013 00:12:08 +0200 Subject: [PATCH] Resolved line endings issue --- .../CustomTool/ReswFileCodeGenerator.cs | 7 +------ .../VSPackage/CustomTool/StringExtension.cs | 18 ++++++++++++++++++ .../VSPackage/VSPackage.csproj | 1 + 3 files changed, 20 insertions(+), 6 deletions(-) create mode 100644 RESW File Code Generator/VSPackage/CustomTool/StringExtension.cs diff --git a/RESW File Code Generator/VSPackage/CustomTool/ReswFileCodeGenerator.cs b/RESW File Code Generator/VSPackage/CustomTool/ReswFileCodeGenerator.cs index 640b409..5f31f1d 100644 --- a/RESW File Code Generator/VSPackage/CustomTool/ReswFileCodeGenerator.cs +++ b/RESW File Code Generator/VSPackage/CustomTool/ReswFileCodeGenerator.cs @@ -35,12 +35,7 @@ namespace ChristianHelle.DeveloperTools.CodeGenerators.Resw.VSPackage.CustomTool var codeGenerator = factory.Create(className, wszDefaultNamespace, bstrInputFileContents, codeDomProvider); var code = codeGenerator.GenerateCode(); - var data = Encoding.UTF8.GetBytes(code); - - rgbOutputFileContents[0] = Marshal.AllocCoTaskMem(data.Length); - Marshal.Copy(data, 0, rgbOutputFileContents[0], data.Length); - - pcbOutput = (uint)data.Length; + rgbOutputFileContents[0] = code.ConvertToIntPtr(out pcbOutput); } catch (Exception e) { diff --git a/RESW File Code Generator/VSPackage/CustomTool/StringExtension.cs b/RESW File Code Generator/VSPackage/CustomTool/StringExtension.cs new file mode 100644 index 0000000..e4e35e1 --- /dev/null +++ b/RESW File Code Generator/VSPackage/CustomTool/StringExtension.cs @@ -0,0 +1,18 @@ +using System; +using System.Runtime.InteropServices; +using System.Text; + +namespace ChristianHelle.DeveloperTools.CodeGenerators.Resw.VSPackage.CustomTool +{ + public static class StringExtension + { + public static IntPtr ConvertToIntPtr(this string code, out uint pcbOutput) + { + var data = Encoding.Default.GetBytes(code); + pcbOutput = (uint)data.Length; + + var ptr = Marshal.StringToCoTaskMemAuto(code); + return ptr; + } + } +} \ No newline at end of file diff --git a/RESW File Code Generator/VSPackage/VSPackage.csproj b/RESW File Code Generator/VSPackage/VSPackage.csproj index 53d0d8c..b210b53 100644 --- a/RESW File Code Generator/VSPackage/VSPackage.csproj +++ b/RESW File Code Generator/VSPackage/VSPackage.csproj @@ -130,6 +130,7 @@ + True