Differences From Artifact [79f9fdb2bc]:
- File
src/natools-smaz_implementations-base_64.adb
— part of check-in
[23d16059bd]
at
2016-12-28 22:29:15
on branch trunk
— smaz_implementations-base_64: fix reading of 3n+2 verbatim length
A sign error caused a direct constraint error, and using the wrong type caused overlong reads (now 4 is hardcoded just like it is in encoding code). (user: nat size: 10602)
To Artifact [106572d0cd]:
- File src/natools-smaz_implementations-base_64.adb — part of check-in [ebba07e9a7] at 2016-12-29 21:47:01 on branch trunk — smaz_implementations-base_64: fix index update in encoding 3n+2 vrbtim (user: nat size: 10602)
| ︙ | ︙ | |||
238 239 240 241 242 243 244 |
:= Tools.Image (61 - Tools.Base_64_Digit (Extra_Blocks / 4));
Offset := Offset + 1;
Tools.Encode_Double
(Input (Index .. Index + 1),
Tools.Double_Byte_Padding (Extra_Blocks mod 4),
Output, Offset);
| | | 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 |
:= Tools.Image (61 - Tools.Base_64_Digit (Extra_Blocks / 4));
Offset := Offset + 1;
Tools.Encode_Double
(Input (Index .. Index + 1),
Tools.Double_Byte_Padding (Extra_Blocks mod 4),
Output, Offset);
Index := Index + 2;
if Extra_Blocks > 0 then
Tools.Encode
(Input (Index .. Index + Extra_Blocks * 3 - 1),
Output, Offset);
Index := Index + Extra_Blocks * 3;
end if;
|
| ︙ | ︙ |