Fri Mar 29 04:23:35 EST 2002

mba-0.3.6

Did some work on xsl style sheets for generating docs.

Fri Mar 15 17:12:31 EST 2002

mba-0.3.0

This package contains generic library functions that could be useful
to almost any project. This inludes an XML DOM-like interface (good for
loading/storing XML config files), a cross library error message handing
module, simple abstract data types, and more. Each module is designed
with minimal dependencies so that each can be extracted and integrated
into another project stand-alone. There are man pages for all of these
modules but here is a quick breakdown:

hashmap - A chaining hash table.
linkedlist - A sigularly linked list.
stack - A dynamically resizing stack.
msgno - Manage error codes (or message numbers rather) accross
    separate C libraries.
profile - Simple malloc, calloc, realloc, and free macros for
    runtime profiling VM usage on a module by module basis (just #include
    <profile.h> and call profile_report(stderr) any time).
hexdump - Dump the contents of memory as ASCII hex. Handy for
    debugging and logging.
domnode - A W3C Document Object Model (DOM) like interface used
    to represent XML documents as a tree of nodes in memory. It is
    lightweight and ideal for simple XML processing. This module makes
    it very easy to load, manipulate, and store XML data.

Of all of these modules msgno is probably the most useful (see
http://users.erols.com/mballen/msgno/). The stack is the most thoroughly
tested (probably bug free because it has been picked apart by many
people). The others should work as advertised and are used in production
but domnode is new so beware. There are also a set of multi-byte string
functions in mbs.c that have not been tested at all.

INSTALLATION:

The hasmap, linkedlist, and stack modules should compile without
modification on any ANSI C platform. The domnode module requires the
expat XML parser but that is available on the most popular platforms (see
http://expat.sourceforge.net/). It supports i18n strings if compiled
with the LGPL encdec library. The msgno macros use the GCC variatic
macro extension. Supposedly C99 supports variatic macros but it does
not use the same syntax.

Having said that, the enitre package should build as-is on Red Hat
7.2. Simply edit the PREFIX path in the mba-0.3.0/Makefile to reflect
the proper installation location (/usr/local/ by default) and make,
make install. For example:

  # cd /usr/local/src/
  # tar xvzf mba-0.3.0.tar.gz
  # cd mba-0.3.0
  # make
  # make install

COPYING:

See each module's .c file. At the moment everything is MIT licensed but
i18n support for domnode requiers the LGPL'd encdec library.

Michael B. Allen <mballen@erols.com>
