Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | s_expressions-printers-pretty: fix width handling in hexadecimal and base-64 atom encodings |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
f1e8b3506931472b3da71a02217cebc5 |
| User & Date: | nat 2014-01-29 21:08:01.440 |
Context
|
2014-01-30
| ||
| 20:53 | s_expressions-printers-pretty-tests: new test for quoted string escape sequences check-in: e499a522b3 user: nat tags: trunk | |
|
2014-01-29
| ||
| 21:08 | s_expressions-printers-pretty: fix width handling in hexadecimal and base-64 atom encodings check-in: f1e8b35069 user: nat tags: trunk | |
|
2014-01-28
| ||
| 19:40 | s_expressions-printers-pretty-tests: add test for output width in hexadecimal and base-64 atom encodings check-in: ed46bbdd62 user: nat tags: trunk | |
Changes
Changes to src/natools-s_expressions-printers-pretty.adb.
| ︙ | ︙ | |||
466 467 468 469 470 471 472 |
Output.Stream.Write (Encodings.Encode_Base64 (Data));
Output.Stream.Write ((0 => Encodings.Base64_Atom_End));
else
Output.Stream.Write ((0 => Encodings.Base64_Atom_Begin));
Output.Cursor := Output.Cursor + 1;
loop
| | | | | > | | | 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 |
Output.Stream.Write (Encodings.Encode_Base64 (Data));
Output.Stream.Write ((0 => Encodings.Base64_Atom_End));
else
Output.Stream.Write ((0 => Encodings.Base64_Atom_Begin));
Output.Cursor := Output.Cursor + 1;
loop
Available := Output.Param.Width + 1 - Output.Cursor;
Chunk_Size := Count'Max (1, Count (Available) / 4) * 3;
if Available mod 4 /= 0 and then I in Data'Range then
Output.Stream.Write
((1 .. Count (Available mod 4) => Encodings.Space));
Output.Cursor := Output.Cursor + (Available mod 4);
end if;
if I + Chunk_Size - 1 in Data'Range then
Output.Stream.Write (Encodings.Encode_Base64
(Data (I .. I + Chunk_Size - 1)));
Newline (Output);
I := I + Chunk_Size;
else
Output.Stream.Write (Encodings.Encode_Base64
(Data (I .. Data'Last)));
|
| ︙ | ︙ | |||
507 508 509 510 511 512 513 |
Output.Param.Hex_Casing));
Output.Stream.Write ((0 => Encodings.Hex_Atom_End));
else
Output.Stream.Write ((0 => Encodings.Hex_Atom_Begin));
Output.Cursor := Output.Cursor + 1;
loop
| | | | | | 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 |
Output.Param.Hex_Casing));
Output.Stream.Write ((0 => Encodings.Hex_Atom_End));
else
Output.Stream.Write ((0 => Encodings.Hex_Atom_Begin));
Output.Cursor := Output.Cursor + 1;
loop
Available := Output.Param.Width + 1 - Output.Cursor;
Chunk_Size := Count'Max (1, Count (Available) / 2);
if Available mod 2 = 1 and then I in Data'Range then
Output.Stream.Write ((0 => Encodings.Space));
Output.Cursor := Output.Cursor + 1;
end if;
if I + Chunk_Size - 1 in Data'Range then
Output.Stream.Write (Encodings.Encode_Hex
(Data (I .. I + Chunk_Size - 1),
Output.Param.Hex_Casing));
Newline (Output);
I := I + Chunk_Size;
else
Output.Stream.Write (Encodings.Encode_Hex
|
| ︙ | ︙ |