Looks like a few other people have been fixing this code. I've also moved several pieces of it back to plain C from C++, because the C++ code was miscompiled on my ARM platform. From that rather painful debugging experience I would prefer that all of this code was plain C. Does anyone have any particular reason to keep it in C++? -- Howard