+ /*
+ * Has a hyphen been found before the breakpoint
+ * that we can use?
+ */
+ if (hyph && vis + vbl + hyph <= bp) {
+ /* First prepend blanks. */
+ for (j = 0; j < (int)vbl; j++)
+ putchar(' ');
+
+ /* Emit up to the character. */
+ do {
+ if (31 == p->buf[i])
+ putchar(' ');
+ else
+ putchar(p->buf[i]);
+ if (8 != p->buf[i])
+ vsz--;
+ } while ('-' != p->buf[i++]);
+
+ /* Emit trailing decoration. */
+ if (8 == p->buf[i]) {
+ putchar(p->buf[i]);
+ putchar(p->buf[i + 1]);
+ }
+ }
+