if (opt)
s = pgettext_expr(opt->name, s);
- if (i && s[0] == '\0')
- putchar('\n');
-
- for (; *s; w = 0) {
- const char *nl = strchr(s, '\n');
- int n = (nl ? nl-s : -1);
+ do {
+ size_t n = strcspn(s, "\n");
- printf("%*s%.*s\n", i-w, "", n, s);
- if (!nl)
- break;
-
- s = nl+1;
- }
+ printf("%*s%.*s\n", n ? i-w : 0, "", (int)n, s);
+ s += n + (s[n] != '\0');
+ w = 0;
+ } while (*s);
}