summaryrefslogtreecommitdiff
path: root/Build/source/libs/pplib/pplib-src/doc/_build/html/_sources/ppcode.rst.txt
blob: ebe92465d8066e278a617fe3358d5527271025f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
Examples
========

Example 1
---------

.. literalinclude:: ../src/pptest1.c

Example 2
---------

.. literalinclude:: ../src/pptest2.c

Example 3
---------

.. literalinclude:: ../src/pptest3.c

ppapi.h
-------

.. literalinclude:: ../src/ppapi.h


Changes
=======

v0.97
-----
First release integrated with luatex sources, plus portability changes from Luigi.

v0.98
-----
Changed references resolving in case of incremental updates; tech notes ppxref_find() in ppxref.c.

v0.99
-----
Fixed streams handling; null characters should NOT be gobbled after "stream" keyword

v1.00
-----
Fixed streams handling (Luigi); object streams updated before other streams
Revised streams handling, ppstream API extended

v1.01
-----
Fixed names handling (thanks Hans); digits after '#' weren't skipped

v1.02
-----
Fixed page finder (thanks Luigi)

v1.03
-----
Fixed TIFF predictor (thanks folks)

v1.04
-----
Fixed TIFF predictor for ARM

v1.05
-----
Attempt to fix parsing inline images crap

v2.00
-----
Deep rework on allocators.
Deep rework on strings and names.

v2.01
-----
Fixed invalid stream buffer handling; ``iof_discard()`` no longer reclaims the source (``filter->next``) filter.
Sanity alignment adjustments in ``iof_heap``.

v2.02
-----
Fixed incorrect encoding of strings alterego with octal escaping, thanks Luigi.
On Hans request added ``ppdoc_filehandle()`` function and ``ppdoc_file()`` macro for loading ppdoc from ``FILE *``.

v2.03
-----
Fixed alloc/free of ``ppdoc`` heap; ``ppdoc`` is now mallocated, no longer taken from its own heap. Again, thanks Luigi.
Fixed warnings about dereferencing type-puned pointers, and some others.

v2.04
-----
Byte lookups for names/strings loaders are now int8_t, as char might be signed.
ppdoc_first_page() / ppdoc_next_page() iterator now handles a case when /Kids array is empty.
Fixed generating keys for encrypted streams; ppstring_internal() returns the string of the proper size.
More stream tests in pptest3.c.
Some rework on md5 and sha2.

v2.05
-----
uint8_t instead of ppbyte in internals; ppbyte intent is "the most natural 8-bit integer", so it is 'char',
but internally we almost always need uint8_t (char may be signed or not..)

TODO
====
- external streams (egzotic)