From 4bb33e7e8cf081cc9836785841f9a962a64d526c Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Thu, 13 Oct 2011 01:37:51 +0000 Subject: simplify output --- bootloader/bootloader.c | 55 +++++++++++++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 25 deletions(-) diff --git a/bootloader/bootloader.c b/bootloader/bootloader.c index 3e9999e..8d34000 100644 --- a/bootloader/bootloader.c +++ b/bootloader/bootloader.c @@ -37,35 +37,40 @@ transfer(int fd, struct page *p, int pages, int pagesize) fprintf(stderr, "\nwriting: "); for (n = 0; n < pages; n++) { - if (n < GUARDPAGE) - fprintf(stderr, "%c", ".o"[p[n].dirty]); - else { + if (n >= GUARDPAGE) { fprintf(stderr, "x"); continue; } - if (p[n].dirty) { - put('@', fd); - put(n, fd); - sum = n; - for (off = 0; off < pagesize; off++) { - put(p[n].data[off], fd); - sum += p[n].data[off]; - } - put(sum, fd); - switch (get(fd)) { - case '.': - break; /* success, next page */ - case '!': - n--; /* error stay on the same page */ - fprintf(stderr, "E"); - break; - default: - if (!maxerr--) - goto fubar; - fprintf(stderr, "\ngarbage on the line, retry\n"); - return transfer(fd, p, pages, pagesize); - } + if (!p[n].dirty) { + fprintf(stderr, "."); + continue; + } + + put('@', fd); + put(n, fd); + sum = n; + for (off = 0; off < pagesize; off++) { + put(p[n].data[off], fd); + sum += p[n].data[off]; + } + put(sum, fd); + switch (get(fd)) { + case '.': + fprintf(stderr, "o"); + maxerr = 0; + break; /* success, next page */ + case '!': + n--; /* error stay on the same page */ + fprintf(stderr, "E"); + if (!maxerr--) + goto fubar; + break; + default: + if (!maxerr--) + goto fubar; + fprintf(stderr, "\ngarbage on the line, retry\n"); + return transfer(fd, p, pages, pagesize); } } -- cgit v1.2.3