Index: src/natools-smaz_implementations-base_64.adb ================================================================== --- src/natools-smaz_implementations-base_64.adb +++ src/natools-smaz_implementations-base_64.adb @@ -144,11 +144,11 @@ else declare Largest_Prefix : constant Natural := (case Input_Length mod 3 is when 1 => 15 * 3 + 1, - when 2 => ((62 - Natural (Last_Code)) * 4 - 1) * 3 + 2, + when 2 => ((61 - Natural (Last_Code)) * 4 - 1) * 3 + 2, when others => 0); Prefix_Header_Size : constant Ada.Streams.Stream_Element_Count := (if Largest_Prefix > 0 then 1 else 0); Largest_Run : constant Positive := 64 * 3; Prefix_Size : constant Natural @@ -251,11 +251,11 @@ end; elsif Input'Length mod 3 = 2 then declare Extra_Blocks : constant Natural := Natural'Min (Input'Length / 3, - (62 - Natural (Last_Code)) * 4 - 1); + (61 - Natural (Last_Code)) * 4 - 1); begin Output (Offset) := Tools.Image (61 - Tools.Base_64_Digit (Extra_Blocks / 4)); Offset := Offset + 1;