Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | smaz_generic: update semantics of Read_Code to signal end-of-input |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
b9f0155723f3f6a22e46810490b81840 |
| User & Date: | nat 2017-02-25 20:45:22.862 |
Context
|
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 | |
|
2017-02-24
| ||
| 20:21 | smaz_tests: check constraint error in hash-to-code conversion check-in: ec0159cb57 user: nat tags: trunk | |
Changes
Changes to src/natools-smaz_generic.adb.
| ︙ | ︙ | |||
196 197 198 199 200 201 202 203 204 205 206 207 208 209 |
Code, Verbatim_Length,
Dict.Last_Code, Dict.Variable_Length_Verbatim);
if Verbatim_Length > 0 then
Skip_Verbatim (Input, Input_Index, Verbatim_Length);
Result := Result + Verbatim_Length;
else
Result := Result + Dict_Entry_Length (Dict, Code);
end if;
end loop;
return Result;
end Decompressed_Length;
| > | 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 |
Code, Verbatim_Length,
Dict.Last_Code, Dict.Variable_Length_Verbatim);
if Verbatim_Length > 0 then
Skip_Verbatim (Input, Input_Index, Verbatim_Length);
Result := Result + Verbatim_Length;
else
exit when not Is_Valid_Code (Dict, Code);
Result := Result + Dict_Entry_Length (Dict, Code);
end if;
end loop;
return Result;
end Decompressed_Length;
|
| ︙ | ︙ | |||
229 230 231 232 233 234 235 236 237 238 239 240 241 242 |
if Verbatim_Length > 0 then
Read_Verbatim
(Input, Input_Index,
Output_Buffer
(Output_Last + 1 .. Output_Last + Verbatim_Length));
Output_Last := Output_Last + Verbatim_Length;
else
declare
Decoded : constant String := Dict_Entry (Dict, Code);
begin
Output_Buffer (Output_Last + 1 .. Output_Last + Decoded'Length)
:= Decoded;
Output_Last := Output_Last + Decoded'Length;
end;
| > > | 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 |
if Verbatim_Length > 0 then
Read_Verbatim
(Input, Input_Index,
Output_Buffer
(Output_Last + 1 .. Output_Last + Verbatim_Length));
Output_Last := Output_Last + Verbatim_Length;
else
exit when not Is_Valid_Code (Dict, Code);
declare
Decoded : constant String := Dict_Entry (Dict, Code);
begin
Output_Buffer (Output_Last + 1 .. Output_Last + Decoded'Length)
:= Decoded;
Output_Last := Output_Last + Decoded'Length;
end;
|
| ︙ | ︙ |