Avoid potential negative array index access to cached text.
[LibreOffice.git] / desktop / README.md
blob88bed965836966b942cf3b3ccd4ee593c442009a
1 # LibreOffice Binary
3 Code for the LibreOffice main binary (`soffice`) resides here. The `soffice_main`
4 function for the `soffice` binary can be found here.
7 ## Stable Interface
9 Some of the artifacts built here are part of a LibreOffice installation set's
10 stable interface, which (programmatic) clients can depend on.  Among them are:
12 ### soffice
14 In the `program` directory (`program/` on Linux and Windows, `Contents/MacOS/`
15 on macOS).
17 ### unoinfo
19 In the `program` directory (`program/` on Linux and Windows, `Contents/MacOS/`
20 on macOS).
22 When called with a sole argument of `c++`, it prints to stdout an absolute
23 pathname denoting the directory where the public URE libraries are found.
25 When called with a sole argument of `java`, it prints to stdout a marker
26 character (either an ASCII '0' or '1') followed by a sequence of zero or more
27 absolute pathnames denoting jars or directories that need to be included in a
28 class loader's search locations.
30 If the marker character is '0' (on Linux and macOS), the pathnames are
31 encoded as bytes, and any two pathnames in the sequence are separated from each
32 other by NUL bytes.
34 If the marker character is '1' (on Windows), the pathnames are encoded as
35 UTF-16-LE two-byte code units, and any two pathnames in the sequence are
36 separated from each other by two-byte `NUL` code units.
38 ## Other Binaries
40 ### oosplash
41 Splash screen for the LibreOffice `soffice` binary.
44 ## Extensions
46 The directory `test/deployment` contains some extensions to be used for testing:
48 * `test/deployment/crashextension`: C++ extension to make LibreOffice crash. Useful for testing Crashreporter.
49   * Build with `Extension_test-crashextension`.
50   * Extension can be found in `workdir/Extension/test-crashextension.oxt`
51 * `test/deployment/passive`: C++, Java and Python extension samples with passive registration.
52   * Build with `make Extension_test-passive`.
53   * Extension can be found in `workdir/Extension/test-passive.oxt`
54 * `test/deployment/active`: C++, Java and Python extension samples with active registration.
55   * Build with `make Extension_test-active`.
56   * Extension can be found in `workdir/Extension/test-active.oxt`