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) {