if (!((buf[0]= *p++) && (buf[1]= *p++) && (buf[2]= *p++))) abort();
buf[3]= 0; v= strtoul(buf,&bep,8);
if (bep != buf+3 || (v & ~0xff))
return parseerrprint("invalid \\<octal> sequence \\%s in quoted string",buf);
*q++= v; continue;
if (!((buf[0]= *p++) && (buf[1]= *p++) && (buf[2]= *p++))) abort();
buf[3]= 0; v= strtoul(buf,&bep,8);
if (bep != buf+3 || (v & ~0xff))
return parseerrprint("invalid \\<octal> sequence \\%s in quoted string",buf);
*q++= v; continue;