From 4c3d3b542f33557bc19c678d96ccfb264f021acf Mon Sep 17 00:00:00 2001 From: Tal Aloni Date: Fri, 2 Jun 2023 22:40:21 +0300 Subject: [PATCH] Added stream related methods to LittleEndianWriter.cs --- Utilities/ByteUtils/LittleEndianWriter.cs | 58 +++++++++++++++-------- 1 file changed, 38 insertions(+), 20 deletions(-) diff --git a/Utilities/ByteUtils/LittleEndianWriter.cs b/Utilities/ByteUtils/LittleEndianWriter.cs index 4816e78..2fa75e7 100644 --- a/Utilities/ByteUtils/LittleEndianWriter.cs +++ b/Utilities/ByteUtils/LittleEndianWriter.cs @@ -11,18 +11,6 @@ namespace Utilities { public class LittleEndianWriter { - public static void WriteUInt16(byte[] buffer, int offset, ushort value) - { - byte[] bytes = LittleEndianConverter.GetBytes(value); - Array.Copy(bytes, 0, buffer, offset, bytes.Length); - } - - public static void WriteUInt16(byte[] buffer, ref int offset, ushort value) - { - WriteUInt16(buffer, offset, value); - offset += 2; - } - public static void WriteInt16(byte[] buffer, int offset, short value) { byte[] bytes = LittleEndianConverter.GetBytes(value); @@ -35,16 +23,16 @@ namespace Utilities offset += 2; } - public static void WriteUInt32(byte[] buffer, int offset, uint value) + public static void WriteUInt16(byte[] buffer, int offset, ushort value) { byte[] bytes = LittleEndianConverter.GetBytes(value); Array.Copy(bytes, 0, buffer, offset, bytes.Length); } - public static void WriteUInt32(byte[] buffer, ref int offset, uint value) + public static void WriteUInt16(byte[] buffer, ref int offset, ushort value) { - WriteUInt32(buffer, offset, value); - offset += 4; + WriteUInt16(buffer, offset, value); + offset += 2; } public static void WriteInt32(byte[] buffer, int offset, int value) @@ -59,16 +47,16 @@ namespace Utilities offset += 4; } - public static void WriteUInt64(byte[] buffer, int offset, ulong value) + public static void WriteUInt32(byte[] buffer, int offset, uint value) { byte[] bytes = LittleEndianConverter.GetBytes(value); Array.Copy(bytes, 0, buffer, offset, bytes.Length); } - public static void WriteUInt64(byte[] buffer, ref int offset, ulong value) + public static void WriteUInt32(byte[] buffer, ref int offset, uint value) { - WriteUInt64(buffer, offset, value); - offset += 8; + WriteUInt32(buffer, offset, value); + offset += 4; } public static void WriteInt64(byte[] buffer, int offset, long value) @@ -83,6 +71,18 @@ namespace Utilities offset += 8; } + public static void WriteUInt64(byte[] buffer, int offset, ulong value) + { + byte[] bytes = LittleEndianConverter.GetBytes(value); + Array.Copy(bytes, 0, buffer, offset, bytes.Length); + } + + public static void WriteUInt64(byte[] buffer, ref int offset, ulong value) + { + WriteUInt64(buffer, offset, value); + offset += 8; + } + public static void WriteGuid(byte[] buffer, int offset, Guid value) { byte[] bytes = LittleEndianConverter.GetBytes(value); @@ -95,6 +95,12 @@ namespace Utilities offset += 16; } + public static void WriteInt16(Stream stream, short value) + { + byte[] bytes = LittleEndianConverter.GetBytes(value); + stream.Write(bytes, 0, bytes.Length); + } + public static void WriteUInt16(Stream stream, ushort value) { byte[] bytes = LittleEndianConverter.GetBytes(value); @@ -112,5 +118,17 @@ namespace Utilities byte[] bytes = LittleEndianConverter.GetBytes(value); stream.Write(bytes, 0, bytes.Length); } + + public static void WriteInt64(Stream stream, long value) + { + byte[] bytes = LittleEndianConverter.GetBytes(value); + stream.Write(bytes, 0, bytes.Length); + } + + public static void WriteUInt64(Stream stream, ulong value) + { + byte[] bytes = LittleEndianConverter.GetBytes(value); + stream.Write(bytes, 0, bytes.Length); + } } }