aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2012-11-03 16:11:39 +0000
committerDimitri Sokolyuk <demon@dim13.org>2012-11-03 16:11:39 +0000
commit54c9e7a45f6107393c394aeba86dc7043b1d3936 (patch)
treee5c227b18db49546f590e6743080f629677072a4
parent0738c5a55346a870b0d79b20a402fe627b111d2e (diff)
beautify output
-rw-r--r--bootloader/bootloader.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/bootloader/bootloader.c b/bootloader/bootloader.c
index 0cdf909..4179e53 100644
--- a/bootloader/bootloader.c
+++ b/bootloader/bootloader.c
@@ -15,7 +15,7 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#include <assert.h>
+#include <err.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
@@ -35,18 +35,11 @@ transfer(int fd, struct page *p, int pages, int pagesize)
while (get(fd) != '+')
;
- fprintf(stderr, "\nwriting: ");
+ fprintf(stderr, "\nwriting pages:");
for (n = 0; n < pages; n++) {
- if (n >= GUARDPAGE) {
- fprintf(stderr, "x");
+ if (!p[n].dirty)
continue;
- }
-
- if (!p[n].dirty) {
- fprintf(stderr, ".");
- continue;
- }
put('@', fd);
put(n, fd);
@@ -58,7 +51,9 @@ transfer(int fd, struct page *p, int pages, int pagesize)
put(sum, fd);
switch (get(fd)) {
case '.':
- fprintf(stderr, "o");
+ if (!(n % 10))
+ fprintf(stderr, " %d", n);
+ fprintf(stderr, ".");
maxerr = 0;
break; /* success, next page */
case '!':
@@ -106,8 +101,14 @@ main(int argc, char **argv)
return -1;
p = rdhex(argv[0], PAGENUM, PAGESIZE);
- assert(p);
- assert(p[GUARDPAGE].dirty == 0); /* protect firmware */
+
+ if (!p)
+ errx(1, "error reading file %s", argv[0]);
+
+ /* protect firmware */
+ for (c = GUARDPAGE; c < PAGENUM; c++)
+ if (p[c].dirty)
+ errx(1, "firmware protection: programm to big");
fd = open_tty(dev);
if (fd == -1) {