From 4b1ae1c5e09f6bbfe9ffb6ed607942e20f496f37 Mon Sep 17 00:00:00 2001 From: Wizou Date: Sun, 17 Oct 2021 03:18:36 +0200 Subject: [PATCH] Decode max timestamp (= forever) as DateTime.MaxValue --- src/TL.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/TL.cs b/src/TL.cs index 0cb701c..3e79102 100644 --- a/src/TL.cs +++ b/src/TL.cs @@ -185,10 +185,13 @@ namespace TL } internal static void WriteTLStamp(this BinaryWriter writer, DateTime datetime) - => writer.Write((uint)(datetime.ToUniversalTime().Ticks / 10000000 - 62135596800L)); + => writer.Write(datetime == DateTime.MaxValue ? int.MaxValue : (int)(datetime.ToUniversalTime().Ticks / 10000000 - 62135596800L)); internal static DateTime ReadTLStamp(this BinaryReader reader) - => new((reader.ReadUInt32() + 62135596800L) * 10000000, DateTimeKind.Utc); + { + int unixstamp = reader.ReadInt32(); + return unixstamp == int.MaxValue ? DateTime.MaxValue : new((unixstamp + 62135596800L) * 10000000, DateTimeKind.Utc); + } internal static void WriteTLString(this BinaryWriter writer, string str) {