>> p[-1] = '\0';
Is this just a style warning being turned into an error? That is, would this compile if the line was rewritten as: *(p - 1) = ‘\0’; Which means the same thing per the spec? If the rewrite would fix it, I suggest doing the rewrite, to reduce compilation problems. --- David A. Wheeler