+ if (*message == '%')
+ message++;
+ else if (strcmp(message, "-") == 0) {
+ for (;;) {
+ size_t n;
+
+ dstr_ensure(&msgbuf, 4096);
+ n = fread(msgbuf.buf + msgbuf.len, 1,
+ msgbuf.sz - msgbuf.len, stdin);
+ if (!n)
+ break;
+ msgbuf.len += n;
+ }
+ if (msgbuf.len && msgbuf.buf[msgbuf.len - 1])
+ msgbuf.len--;
+ dstr_putz(&msgbuf);
+ message = msgbuf.buf;
+ }