X-Git-Url: https://www.bearssl.org/gitweb//home/git/?p=BearSSL;a=blobdiff_plain;f=T0%2FCodeElementUIntExpr.cs;h=8dd55a54d953316a25f6932fd5554a84baed6b5c;hp=d24ba5818108958eb6a6d864621cdcd6cea0c177;hb=e4edfb84eda32c3b3aa548f975c4a13d406db989;hpb=3210f38e0491b39aec1ef419cb4114e9483089fb diff --git a/T0/CodeElementUIntExpr.cs b/T0/CodeElementUIntExpr.cs index d24ba58..8dd55a5 100644 --- a/T0/CodeElementUIntExpr.cs +++ b/T0/CodeElementUIntExpr.cs @@ -38,16 +38,26 @@ class CodeElementUIntExpr : CodeElement { this.off = off; } + /* obsolete internal override int Length { get { return Encode7EUnsigned(val, null) + (cx.GetMaxBitLength(off) + 6) / 7; } } + */ - internal override int Encode(BlobWriter bw) + internal override int GetLength(bool oneByteCode) { - int len1 = Encode7EUnsigned(val, bw); + int len = oneByteCode ? 1 : Encode7EUnsigned(val, null); + return len + (cx.GetMaxBitLength(off) + 6) / 7; + } + + internal override int Encode(BlobWriter bw, bool oneByteCode) + { + int len1 = oneByteCode + ? EncodeOneByte(val, bw) + : Encode7EUnsigned(val, bw); int len2 = (cx.GetMaxBitLength(off) + 6) / 7; bw.Append(String.Format("T0_INT{0}({1})", len2, cx.ToCExpr(off)));