}
static int
-kwboot_xm_recv_reply(int fd, char *c, int allow_non_xm)
+kwboot_xm_recv_reply(int fd, char *c, int allow_non_xm, int *non_xm_print)
{
int rc;
+ *non_xm_print = 0;
+
while (1) {
rc = kwboot_tty_recv(fd, c, 1, blk_rsp_timeo);
if (rc) {
if (allow_non_xm) {
putchar(*c);
fflush(stdout);
+ *non_xm_print = 1;
}
}
kwboot_xm_sendblock(int fd, struct kwboot_block *block, int allow_non_xm,
int *done_print)
{
+ int non_xm_print;
int rc, retries;
char c;
*done_print = 1;
}
- rc = kwboot_xm_recv_reply(fd, &c, allow_non_xm);
+ rc = kwboot_xm_recv_reply(fd, &c, allow_non_xm, &non_xm_print);
if (rc)
return rc;
kwboot_progress(-1, '+');
} while (c == NAK && retries-- > 0);
+ if (non_xm_print)
+ kwboot_printv("\n");
+
rc = -1;
switch (c) {