The “wheel” library aims to provide basic (and some not-that-basic) facilities that one would expect to have in C.

Adrian Perez de Castro 50cf8671d3 wevent: Return a boolean value as specified un function proto 1 year ago
doc 73e38e3f12 wio: Document the I/O chaining/checking macros 2 years ago
examples 1e892a8c3f wtask: First pass at implementing socket listeners 2 years ago
fpconv @ 11ed624b20 1a9cd55a3c wio: Use fpconv instead of snprintf() to format doubles 2 years ago
siphash @ adcbf09b16 74b10f5be2 Use SipHash-2-4 by default for w_str_hash[l]() 1 year ago
tests 1a9cd55a3c wio: Use fpconv instead of snprintf() to format doubles 2 years ago
.drone.yml c7b71659d3 drone: Send reports to #devel channel 2 years ago
.gitignore 7fb6a324fe Switch over to Sphinx for documentation 2 years ago
.gitmodules 74b10f5be2 Use SipHash-2-4 by default for w_str_hash[l]() 1 year ago
.travis.yml 358a5a8453 Travis-CI: Switch to container-based infrastructure 1 year ago
Makefile 674f064c69 wdoc: Disable verbose operation by default 2 years ago
Makefile.libwheel 74b10f5be2 Use SipHash-2-4 by default for w_str_hash[l]() 1 year ago
NEWS.md 56d8e95c82 Add NEWS.md file 2 years ago
README.md e1a869d9c3 Add status badges to README 2 years ago
queue.h 5aec2e6670 Update queue.h to latest OpenBSD version (1.38) 3 years ago
wbuf.c 461f9b1abf wio, wstr: Convert documentation to Sphinx 2 years ago
wcfg.c 1a9cd55a3c wio: Use fpconv instead of snprintf() to format doubles 2 years ago
wdict.c 979257ff31 C99: Make _foreach() macros declare their iterators 2 years ago
wdoc.c 674f064c69 wdoc: Disable verbose operation by default 2 years ago
werr.c eb33fccaee werr: Convert the documentation to Sphinx 2 years ago
wevent.c 50cf8671d3 wevent: Return a boolean value as specified un function proto 1 year ago
wheel.h 98aea259e6 Simplify macros used to create w_io_result_t values 1 year ago
wio-buf.c 20778b741c wio-mem: Convert the documentation to Sphinx 2 years ago
wio-mem.c 20778b741c wio-mem: Convert the documentation to Sphinx 2 years ago
wio-socket.c 49288e05a0 wio-socket: Add examples 2 years ago
wio-stdio.c e489b84990 wio-stdio: Convert the documentation to Sphinx 2 years ago
wio-unix.c 20778b741c wio-mem: Convert the documentation to Sphinx 2 years ago
wio.c 2f04bee1c5 wio: Fix memory clearing which resets refcounter 2 years ago
wioformat.c 1a9cd55a3c wio: Use fpconv instead of snprintf() to format doubles 2 years ago
wiofscan.c 7e47c76979 wiofscan: Handle more error corner cases parsing doubles 2 years ago
wlist.c a5d0c9ef7f wlist: Convert the documentation to Sphinx 2 years ago
wmem.c e2fc6106a1 wmem: Convert the documentation to Sphinx 2 years ago
wobj.c a5d0c9ef7f wlist: Convert the documentation to Sphinx 2 years ago
wopt.c 96d96b567b Change macro W_IGNORE_RESULT to W_IO_NORESULT 2 years ago
wparse.c fb71064054 wparse: Do not keep an extra ref to the input stream 2 years ago
wstr.c 74b10f5be2 Use SipHash-2-4 by default for w_str_hash[l]() 1 year ago
wtask.c 8955639c30 wtask: Fix VLA to make building with Clang possible again 1 year ago
wtnetstr.c b6d1cf6cb5 wtnetstr: Use W_IO_RESULT() macro instead of direct creation 1 year ago
wtty.c 0b9389dbd9 Abandon w_bool_t in favor of the C99 stdbool.h header 2 years ago
wvariant.c 0fcaf2c5c9 Use (more) static inline functions instead of preprocessor macros 2 years ago

README.md

libwheel - A library to avoid reinventing the wheel

Build Status Code Coverage Documentation Status

The “wheel” library aims to provide basic (and some not-that-basic) facilities that one would expect to have in C. For the moment it contains:

  • Memory handling routines.
  • In-memory buffers.
  • Support for loading and saving “configuration” files. Actually, This module can be (ab)used to save and load arbitrary data.
  • Hash-based dictionaries (being dictionaries means that keys are always strings).
  • String handling functions.
  • Command line parsing.
  • Utilities for building simple parsers.
  • Generic input/output streams.