Add length validation foe caption

This commit is contained in:
omarm 2017-04-13 11:33:46 +03:00
parent 1697db9d7f
commit 6faba0f286
2 changed files with 34 additions and 23 deletions

View file

@ -269,7 +269,7 @@ namespace TLSharp.Core
random_id = Helpers.GenerateRandomLong(),
background = false,
clear_draft = false,
media = new TLInputMediaUploadedPhoto() { file = file, caption = caption },
media = new TLInputMediaUploadedPhoto() { file = file, Caption = caption },
peer = peer
});
}

View file

@ -7,7 +7,7 @@ using System.Threading.Tasks;
using TeleSharp.TL;
namespace TeleSharp.TL
{
[TLObject(1661770481)]
[TLObject(1661770481)]
public class TLInputMediaUploadedPhoto : TLAbsInputMedia
{
public override int Constructor
@ -18,41 +18,52 @@ namespace TeleSharp.TL
}
}
public int flags {get;set;}
public TLAbsInputFile file {get;set;}
public string caption {get;set;}
public TLVector<TLAbsInputDocument> stickers {get;set;}
public int flags { get; set; }
public TLAbsInputFile file { get; set; }
private string caption;
public void ComputeFlags()
{
flags = 0;
flags = stickers != null ? (flags | 1) : (flags & ~1);
public string Caption
{
get { return caption; }
set
{
caption = value.Length > 200 ? value.Remove(199, value.Length - 199) : value;
}
}
public TLVector<TLAbsInputDocument> stickers { get; set; }
}
public void ComputeFlags()
{
flags = 0;
flags = stickers != null ? (flags | 1) : (flags & ~1);
}
public override void DeserializeBody(BinaryReader br)
{
flags = br.ReadInt32();
file = (TLAbsInputFile)ObjectUtils.DeserializeObject(br);
caption = StringUtil.Deserialize(br);
if ((flags & 1) != 0)
stickers = (TLVector<TLAbsInputDocument>)ObjectUtils.DeserializeVector<TLAbsInputDocument>(br);
else
stickers = null;
file = (TLAbsInputFile)ObjectUtils.DeserializeObject(br);
caption = StringUtil.Deserialize(br);
if ((flags & 1) != 0)
stickers = (TLVector<TLAbsInputDocument>)ObjectUtils.DeserializeVector<TLAbsInputDocument>(br);
else
stickers = null;
}
public override void SerializeBody(BinaryWriter bw)
{
bw.Write(Constructor);
bw.Write(Constructor);
ComputeFlags();
bw.Write(flags);
ObjectUtils.SerializeObject(file,bw);
StringUtil.Serialize(caption,bw);
if ((flags & 1) != 0)
ObjectUtils.SerializeObject(stickers,bw);
bw.Write(flags);
ObjectUtils.SerializeObject(file, bw);
StringUtil.Serialize(caption, bw);
if ((flags & 1) != 0)
ObjectUtils.SerializeObject(stickers, bw);
}
}