Home Download News FAQ / Knowledge Base Screenshots Documentation Support
philosophical imaginary
Table of Contents

Citadel Sourcecode Documentation


libical was originaly started by softwarestudio.org; It got into use within a range of projects; after the upstream lost interest to continue maintaining libical, a couple of big projects started maintaining their bugfixes in forks of libical. After some more or less successfull tries to find a new maintainer, Art managed to get in touch with the original author so we could revive the original http://freeassociation.sf.net project. Next effort was to merge in bugfixes from the various branches, and “get the band back together”. Currently libical is maintained in a cooperative effort of the downstream projects and others.


libcitadel started out as a set of utilities used in several citadel components. Meanwhile it contains some components that might be of use for others:


StrBuf goes new ways to handle strings in C more efficiently. Main problems with general C-String tackled are:


StrBuf manages its memory by itself; it will double its size until everything fits in. StrBuf has a default buffer size, which you can set at the start of your application. There are also tools to evaluate such values (counting reallocs, slags pace on delete..) For not wasting memory nor doing to frequent reallocs, you can hint StrBuf for instances that are going to be extraordinary big by using NewStrBufPlain(NULL, <size>);

StrBuf also has a bunch of string-Transcoding functions which will escape / transcode / de-escape contents for commonly used patterns, like Quoted-printable encoding, URL-encoding, XML/HTML encoding, gzip compression.

StrBufs are assumed to have ASCII or UTF-8 contents in many Places; many other places don't care about the content, even pure binary data like images are no problem. Its up to you to treat it appropriate, or use for example the QP decoder with its internal iconv wrapper to get utf8.

Copyright © 1987-2020 Uncensored Communications Group. All rights reserved.     Login (site admin)