Core header libraries and utilities
Go to file
Přemysl Eric Janouch ddb3a60dcc
Experimental support for building as C++
So far with the following caveats:
 - Triggers -Wc99-designator
 - Compound literals are non-standard.
 - The setjmp/longjmp in the configuration parser might be an issue.
 - Perhaps others.

It does not seem to be a good idea to use this library for C++ at all.
Much of what it does is directly replaced by the STL.
2020-10-22 02:19:59 +02:00
cmake Get rid of CMake dev warnings 2020-10-02 06:47:34 +02:00
meson/packaging Little improvements 2017-07-24 03:46:06 +02:00
tests Reject overlong UTF-8 sequences 2020-10-21 05:08:59 +02:00
.gitignore Initial commit 2015-02-28 19:53:23 +01:00
CMakeLists.txt Little improvements 2017-07-24 03:46:06 +02:00
LICENSE Bump copyright years 2020-10-02 06:43:16 +02:00
README.adoc Update README 2018-06-21 23:58:03 +02:00
fuzz Add remaining fuzzing entry points 2020-10-12 02:07:07 +02:00
liberty-proto.c Experimental support for building as C++ 2020-10-22 02:19:59 +02:00
liberty-tui.c Name change 2020-08-01 14:02:25 +02:00
liberty.c Experimental support for building as C++ 2020-10-22 02:19:59 +02:00
libertyconf.vim Add VIM syntax highlight for "config" 2017-06-12 02:48:42 +02:00
siphash.c siphash: silence fall-through warnings 2017-09-26 19:08:13 +02:00

README.adoc

liberty

liberty is a pseudolibrary of all the common C code I have written for various projects. I used to copy-paste large swaths of code with minimal changes to it and it slowly became awfully painful to synchronize. The project can be thought of as a successor to my other C library, libxtnd.

You are supposed to import it as a git submodule and include the main source file directly everywhere you need it. Everything is declared "static". I have come to the conclusion that this style of C programming suits me the best, as it allows me to nearly forget about the mess that are header files.

The API is intentionally unstable, which allows for easy refactoring.

All development is done on Linux, but other POSIX-compatible operating systems should be supported as well. They have an extremely low priority, however, and Im not testing them at all, with the exception of OpenBSD.

Contributing and Support

Use https://git.janouch.name/p/liberty to report any bugs, request features, or submit pull requests. git send-email is tolerated. If you want to discuss the project, feel free to join me at ircs://irc.janouch.name, channel #dev.

Bitcoin donations are accepted at: 12r5uEWEgcHC46xd64tt3hHt9EUvYYDHe9

License

This software is released under the terms of the 0BSD license, the text of which is included within the package along with the list of authors.