No description
Find a file
Miklos Vajna 547f9ea731 Rework StringVector to have a single underlying string
This is meant to reduce lots of small allocations and instead have
pointers into the single string for the various tokens instead.

This has a few requirements, though:

1) It's no longer OK to modify the tokens, changing their length would
invalidate the start/length of other tokens. Rework
DocumentBroker::load() to avoid such mutation.

2) The iterators no longer expose zero-terminated strings, so
Poco::cat() doesn't work anymore: add an own cat() instead and use that
in e.g. ChildSession. The own cat() has the benefit that it won't read
past the end of the array if the begin index is out of bounds to add
more safety.

(This nicely works towards killing Poco usage in general.)

3) If zero-terminated strings for all individual tokens is needed, a
copy has to be made, as done in spawnProcess().

(For all of these requirements, the build fails if there are problems.)

Change-Id: Iea40e4400e630b2d669f5c72aea85cb40edf9a2c
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/89711
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2020-02-28 18:31:37 +01:00
android Rework LOOLProtocol::tokenize() to return a StringVector object 2020-02-28 16:07:56 +01:00
common Rework StringVector to have a single underlying string 2020-02-28 18:31:37 +01:00
cypress_test cypress: mobile: this is not needed anymore. 2020-02-26 22:32:16 +01:00
debian Revert "Bump package version to 4.2.0-3 and update deb/rpm package files" 2020-01-10 12:17:43 +01:00
docker Add a README for docker directory 2020-02-25 22:45:43 +01:00
etc
fuzzer wsd: fix crash with read-only documents + uno command without param 2020-02-27 17:59:59 +01:00
gtk
ios Use the loolkitconfig-mobile.xcu on iOS, too 2020-02-25 21:40:03 +01:00
kit Rework StringVector to have a single underlying string 2020-02-28 18:31:37 +01:00
kubernetes/helm kubernetes: libreoffice-online helm chart improvements 2019-12-16 14:12:56 +01:00
loleaflet loleaflet: makefile: avoid to execute javascript to get a list file 2020-02-28 13:46:18 +01:00
man
net Remove unused method. 2020-02-04 12:09:51 +01:00
scripts Add translations for Page Setup & co 2020-01-28 09:09:52 +01:00
test Rework StringVector to have a single underlying string 2020-02-28 18:31:37 +01:00
tools Rework LOOLProtocol::tokenize() to return a StringVector object 2020-02-28 16:07:56 +01:00
wsd Rework StringVector to have a single underlying string 2020-02-28 18:31:37 +01:00
.clang-format
.clang-tidy
.gitignore Ignore the ios/Mobile/Branding directory, set up by the configure script 2019-11-25 11:19:31 +02:00
.gitreview Revert "[cp] Update the .gitreview for this branch." 2020-01-10 12:17:31 +01:00
AUTHORS
autogen.sh
browsersync-config.js
ChangeLog
configure.ac Use the loolkitconfig-mobile.xcu on iOS, too 2020-02-25 21:40:03 +01:00
COPYING
discovery.xml Remove Lotus WordPro support 2019-10-25 14:39:29 +03:00
favicon.ico
INSTALL
logerrit Add logerrit for online 2019-11-09 18:29:50 +01:00
loolkitconfig-mobile.xcu Un-break the XML by adding missing closing tag. 2020-02-25 00:11:43 +01:00
loolkitconfig.xcu Clobber gio in the configuration. 2020-01-21 15:06:17 +01:00
loolstat
loolwsd-systemplate-setup Copy linked /etc/localtime (and also timezone) into the systemplate. 2019-10-25 11:24:33 +01:00
loolwsd.init.rhel6 add init script for RHEL6/CentOS6 2019-09-12 18:33:22 +02:00
loolwsd.service service: improve stop and reload 2019-11-04 09:35:50 +01:00
loolwsd.spec.in Revert "Bump package version to 4.2.0-3 and update deb/rpm package files" 2020-01-10 12:17:43 +01:00
loolwsd.xml.in Default redlining_as_comments config to false 2020-02-20 04:59:07 +01:00
Makefile.am Rework LOOLProtocol::tokenize() to return a StringVector object 2020-02-28 16:07:56 +01:00
NEWS
PROBLEMS
README
sysconfig.loolwsd

LibreOffice Online.

This project has several components:

wsd/
	The Web Services Daemon - which accepts external connections.

kit/
	The client which lives in its own chroot and renders documents.

common/
	Shared code between these processes.

loleaflet/
	The client side JavaScript component.

It is recommended to read these files:

	wsd/README
	loleaflet/README

Enjoy.