+
+ linep = line2.buf;
+ new_ppline.buf[0] = '\0';
+ while (ulas_tokuntil(&next_line, '\n', &linep, strlen(linep))) {
+ n = strlen(next_line.buf);
+ ulas_preprocexpand(pp, next_line.buf, &n);
+
+ ulas_strensr(&new_ppline,
+ strlen(pp->line.buf) + strlen(new_ppline.buf) + 4);
+
+ if (lines_expanded == 0 && append_newline) {
+ sprintf(new_ppline.buf, "\n%s", pp->line.buf);
+ } else if (lines_expanded == 0) {
+ sprintf(new_ppline.buf, "%s", pp->line.buf);
+ } else {
+ sprintf(new_ppline.buf, "%s\n%s", new_ppline.buf, pp->line.buf);
+ }
+
+ lines_expanded++;
+ }
+
+ ulas_strensr(&pp->line, strlen(new_ppline.buf) + 4);
+
+ if (!append_newline) {
+ sprintf(pp->line.buf, "%s", new_ppline.buf);
+ } else {
+ sprintf(pp->line.buf, "%s\n", new_ppline.buf);
+ }
+