perhaps instead of "c + len > c" being the test of pointer wraparound, one may
use the following (if there is a desire to use pointer-based arithmetic)...
#define MAXPTR (char *)0xffffffff // this would differ on 64 bit systems
if (MAXPTR - c < len)
{
// we have a pointer wraparound...
}