Once there is a working *nix port I plan to merge this back into trunk. This code is unchanged from the original archive I received, except for the added GPL license headers, and tabs being expanded into spaces.