コード例 #1
0
ファイル: OmfLoader.cs プロジェクト: qcyb/reko
        private string ReadString(LeImageReader rdr)
        {
            var cStr = rdr.ReadLengthPrefixedString(
                PrimitiveType.Byte,
                PrimitiveType.Char,
                Encoding.ASCII);

            return(cStr?.ToString());
        }
コード例 #2
0
ファイル: ImageReaderTests.cs プロジェクト: mmyydd/reko
        public void ReadLengthPrefixedString()
        {
            var img =
                new LeImageReader(
                    new LoadedImage(
                        Address.Ptr32(0x10000),
                        new byte[] { 0x12, 0x34, 0x03, 0x00, 0x00, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6f, 0x00, 0x02, 0x02 }),
                    2);
            StringConstant str = img.ReadLengthPrefixedString(PrimitiveType.Int32, PrimitiveType.WChar);

            Assert.AreEqual("Foo", str.ToString());
        }
コード例 #3
0
ファイル: ImageReaderTests.cs プロジェクト: qcyb/reko
        public void ReadLengthPrefixedString()
        {
            var img =
                new LeImageReader(
                    new ByteMemoryArea(
                        Address.Ptr32(0x10000),
                        new byte[] {
                0x12, 0x34, 0x03, 0x00, 0x00, 0x00, 0x46, 0x00,
                0x6f, 0x00, 0x6f, 0x00, 0x02, 0x02
            }),
                    2);
            StringConstant str = img.ReadLengthPrefixedString(PrimitiveType.Int32, PrimitiveType.WChar, Encoding.Unicode);

            Assert.AreEqual("Foo", str.ToString());
            Assert.AreEqual(9, img.Offset);
        }