The libmba package is a collection of mostly independent C modules potentially useful to any project. There are the usual ADTs including a linkedlist, hashmap, pool, stack, and varray, a flexible memory allocator, CSV parser, path canonicalization routine, I18N text abstraction, configuration file module, portable semaphores, condition variables, and more. The code is designed so that individual modules can be integrated into existing codebases rather than requiring the user to commit to the entire library. The code has no typedefs, few comments, and extensive man pages and HTML documentation.
| Tags | Software Development Libraries Internationalization Database Localization Text Processing General Scientific/Engineering Bioinformatics API |
|---|---|
| Licenses | MIT/X |
| Operating Systems | POSIX Windows Windows OS Independent |
| Implementation | C |
Recent releases


Release Notes: Portability has been greatly improved. It has been compiled and tested on OSF1, HP-UX, Linux, Mac OS X, and FreeBSD with gcc, DECC, and aC++. There have also been some minor modifications and enhancements.


Release Notes: Several bugs were fixed in the csv, eval, bitset, and svsem modules. A Win32 build issue was resolved.


Release Notes: The sho_loop function now accepts a pattern vector and a timeout, like sho_expect. The cfg module has been modified to more closely support Java Properties escape sequences for spaces and Unicode characters.


Release Notes: A diff module has been added that implements Myers' O(ND) solution for computing the shortest edit script between two sequences (like GNU diff(1) but with a generic C interface).


Release Notes: The hashmap module did not work properly and svcond_wait failed to reacquire the lock when interrupted by a signal. These bugs have been fixed in addition to some minor adjustments, all of which is updated in the API documentation.