for C.
* `alloc.h' declares some thin veneers over `malloc' and
- `free' which raise exceptions for out-of-memory conditions,
+ friends which raise exceptions for out-of-memory conditions,
so you don't have to bother trapping these in main code.
Above this are the memory tracking system, the suballocator, and
with information about who allocated them, and keeps track
of the memory allocated so far. Most of the time, you don't
bother compiling this in, and you don't need to care about
- it at all.
+ it at all. [This may be withdrawn in a later release. Too
+ much code in mLib doesn't support it properly, and it's not
+ being maintained or documented very well.]
* `sub.h' provides an allocation mechanism for small,
known-size blocks. It fetches big chunks from an underlying
Then there's a bunch of other stuff.
+ * `base32.h' does Base32 encoding and decoding. This is a
+ mad thing one needs for sha1 URNs.
+
* `base64.h' does Base64 encoding and decoding.
* `bits.h' provides some portable bit manipulation macros.
* `fdflags.h' encapsulates some traditional little dances with
fcntl when playing with nonblocking files.
+ * `hex.h' does hex encoding and decoding.
+
* `lock.h' does fcntl-style locking with a timeout.
* `quis.h' works out the program name from the value of
results. It's particularly handy with cryptographic
algorithms, I find.
+ * `unihash.h' provides universal hashing. This is useful in
+ hash tables for preventing uneven loading even in the
+ presence of a malicious person choosing the hash keys.
+
* `url.h' does url-encoding, which armours mostly-textual
name/value pairs so they contain no whitespace characters.
+-- [mdw]
- Mark Wooding
- mdw@nsict.org
\f
Local variables:
mode: text