Initial snapshot of c-do.c, added as c-do.cpp (non-building, just wanted to track diffs on it)