keep comment about removing .utf8 and remove old commented code
rename to cpp
switch to C++ headers
fix linkage issue caused by update to C++
mark function parameters as const to indicate to callers that values are not changed
stop using reserved identifiers, the c and c++ standards reserve identifiers with a leading underscore, and posix reserves _t but a leading t_ is not reserved