break;
default:
- if (*cp < '!' || *cp > '~')
+ if (*cp < '!' || *cp > '~') {
goto three_print;
+ }
+ if (n == 0 && *cp == '.') {
+ /*
+ ** encode dot at start of line,
+ ** because it could be alone ...
+ */
+ goto three_print;
+ }
putc(*cp, out);
n++;
break;