README

Tue, 22 Oct 2024 23:10:31 +0200

author
Mike Becker <universe@uap-core.de>
date
Tue, 22 Oct 2024 23:10:31 +0200
changeset 946
b428424c0214
parent 760
52e49533e7b4
permissions
-rw-r--r--

avoid state buffer allocation for JSON with reasonable nesting depth

-------------------------------------------------------------------------------
                     UAP Common Extensions - UCX
-------------------------------------------------------------------------------

0. Table of Contents:

  1. Introduction  ........................................................ 15
  2. Build  ............................................................... 25
  3. Documentation  ....................................................... 44
  4. Contact  ............................................................. 57
  5. License  ............................................................. 64


1. Introduction
---------------

With this library we provide useful data structures and algorithms for common
programmatic tasks in the C language. By design the features are divided into
modules to minimize the library footprint. Using the build files you can create
a static and a shared lib containing all modules, but you may also use the UCX
sources in your project and compile specific modules by yourself to further
minimize the footprint, e.g. when you need lists, but do not need hash maps.


2. Build
--------

The build processes requires executing a simple configure script and calling
make. You can clone the repository or download the sources from SourceForge.

    wget https://sourceforge.net/projects/ucx/files/ucx-latest.tar.gz
    tar -xzf ucx-latest.tar.gz
    cd ucx-latest

Then execute ./configure with the options you like. You can get a list of
all available options with ./configure --help. The recommended configuration
for production builds is ./configure --release.

    ./configure --release
    make
    make check                 # only available when built with tests
    sudo make install

3. Documentation
----------------

Documentation is available at:

  https://develop.uap-core.de/ucx/index.html

The code uses doxygen source code documentation. A html version of the
documentation is also available here:

  https://develop.uap-core.de/ucx/api/index.html


4. Contact
----------

  Olaf Wintermann    (olaf.wintermann@gmail.com)
  Mike Becker        (universe@uap-core.de)


5. License
----------

Copyright 2023 Mike Becker, Olaf Wintermann All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following disclaimer in the
     documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

mercurial