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) [annotate] [blame] [check-ins using]
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) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
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; |
︙ | ︙ |