Differences From Artifact [eb6acaef96]:
- File src/natools-smaz_implementations-base_64.adb — part of check-in [091a96ec6c] at 2016-12-19 20:18:19 on branch trunk — smaz_64: new instance of generic smaz, outputs directly base-64 symbols (user: nat, size: 10673) [annotate] [blame] [check-ins using]
To 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]
︙ | ︙ | |||
56 57 58 59 60 61 62 | Tools.Decode_Single (Input, Offset, Ignored (1), Code); Verbatim_Length := Natural (Code) * 3 + 1; Offset := Offset_Backup; Code := 0; else Offset_Backup := Offset; | | < | 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | Tools.Decode_Single (Input, Offset, Ignored (1), Code); Verbatim_Length := Natural (Code) * 3 + 1; Offset := Offset_Backup; Code := 0; else Offset_Backup := Offset; Verbatim_Length := (61 - Natural (Code)) * 4; Tools.Decode_Double (Input, Offset, Ignored, Code); Verbatim_Length := (Verbatim_Length + Natural (Code)) * 3 + 2; Offset := Offset_Backup; Code := 0; end if; end Read_Code; |
︙ | ︙ |