C version.