Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | smaz_implementations-base_64_tools: new primitive to check end of input |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
b05bcfb847a89fcec717630ecba3a7aa |
| User & Date: | nat 2017-02-26 21:43:05.123 |
Context
|
2017-02-27
| ||
| 21:27 | smaz_implementations-base_64: check end-of-input in Read_Code check-in: 6c1f9bd682 user: nat tags: trunk | |
|
2017-02-26
| ||
| 21:43 | smaz_implementations-base_64_tools: new primitive to check end of input check-in: b05bcfb847 user: nat tags: trunk | |
|
2017-02-25
| ||
| 20:45 | smaz_generic: update semantics of Read_Code to signal end-of-input check-in: b9f0155723 user: nat tags: trunk | |
Changes
Changes to src/natools-smaz_implementations-base_64_tools.adb.
1 | ------------------------------------------------------------------------------ | | | 1 2 3 4 5 6 7 8 9 | ------------------------------------------------------------------------------ -- Copyright (c) 2016-2017, Natacha Porté -- -- -- -- Permission to use, copy, modify, and distribute this software for any -- -- purpose with or without fee is hereby granted, provided that the above -- -- copyright notice and this permission notice appear in all copies. -- -- -- -- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -- -- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -- |
| ︙ | ︙ | |||
224 225 226 227 228 229 230 231 232 233 234 235 236 237 |
Offset := Offset + 1;
end loop;
Digit := Value (Input (Offset));
Offset := Offset + 1;
end Next_Digit;
function Symbol_Count (Input : Ada.Streams.Stream_Element_Array)
return Ada.Streams.Stream_Element_Count
is
Result : Ada.Streams.Stream_Element_Count := 0;
begin
for S of Input loop
| > > > > > > > > > > > > > > > > > > > > > > > | 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 |
Offset := Offset + 1;
end loop;
Digit := Value (Input (Offset));
Offset := Offset + 1;
end Next_Digit;
procedure Next_Digit_Or_End
(Input : in Ada.Streams.Stream_Element_Array;
Offset : in out Ada.Streams.Stream_Element_Offset;
Digit : out Base_64_Digit;
Finished : out Boolean) is
begin
loop
if Offset not in Input'Range then
Finished := True;
return;
end if;
exit when Input (Offset) in Base_64_Symbol;
Offset := Offset + 1;
end loop;
Digit := Value (Input (Offset));
Finished := False;
Offset := Offset + 1;
end Next_Digit_Or_End;
function Symbol_Count (Input : Ada.Streams.Stream_Element_Array)
return Ada.Streams.Stream_Element_Count
is
Result : Ada.Streams.Stream_Element_Count := 0;
begin
for S of Input loop
|
| ︙ | ︙ |
Changes to src/natools-smaz_implementations-base_64_tools.ads.
1 | ------------------------------------------------------------------------------ | | | 1 2 3 4 5 6 7 8 9 | ------------------------------------------------------------------------------ -- Copyright (c) 2016-2017, Natacha Porté -- -- -- -- Permission to use, copy, modify, and distribute this software for any -- -- purpose with or without fee is hereby granted, provided that the above -- -- copyright notice and this permission notice appear in all copies. -- -- -- -- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -- -- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -- |
| ︙ | ︙ | |||
138 139 140 141 142 143 144 145 146 147 |
Padding : out Single_Byte_Padding);
procedure Next_Digit
(Input : in Ada.Streams.Stream_Element_Array;
Offset : in out Ada.Streams.Stream_Element_Offset;
Digit : out Base_64_Digit);
-- Look for the first valid symbol in Input from Offset, and decode it
end Natools.Smaz_Implementations.Base_64_Tools;
| > > > > > | 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 |
Padding : out Single_Byte_Padding);
procedure Next_Digit
(Input : in Ada.Streams.Stream_Element_Array;
Offset : in out Ada.Streams.Stream_Element_Offset;
Digit : out Base_64_Digit);
procedure Next_Digit_Or_End
(Input : in Ada.Streams.Stream_Element_Array;
Offset : in out Ada.Streams.Stream_Element_Offset;
Digit : out Base_64_Digit;
Finished : out Boolean);
-- Look for the first valid symbol in Input from Offset, and decode it
end Natools.Smaz_Implementations.Base_64_Tools;
|