This version 'xml2struct.c' program has some unresolved
allocation issues.  Specifically, the data structure in
'linkedlist.h' encounters some intermittent errors when pointers
are free()'d (non-locally) in the main 'xml2struct.c' program.
Moreover, the data structure defined uses a linked-list of
(preallocated) string pointers, which is not what I now think is
best.  A better structure would probably just use an array of
pointers, even though this will require an occassional realloc()
of the pointer array.

The above is basically just a long-winded way of saying that the
current C code is sufficient to demonstrate speed results in a
general way, but falls short of production quality.  Fixing the
open problems might add a couple percentage points increase in
speed, but nothing all that significant.

In the meanwhile, at least on modern Linux systems, there is a
simple workaround to the free() problems.  Simply tune the
malloc() implementation by setting an environment variable:

  % export MALLOC_CHECK_=0

If this is set prior to running 'xml2struct' the problem is
resolved in all tested cases.  Of course, this does not guarantee
that some run might not wind up with a segfault instead.  But
odds are it will work.
