Blob Blame History Raw
From 3c633bc3b8b302fe4c19817c39545221a5e3c445 Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak@v3.sk>
Date: Tue, 7 Oct 2014 08:32:11 +0200
Subject: [PATCH 2/3] Improve diagnostics a bit

It could be tricky to determine the file size needed, especially for weirdly
sized devices.
---
 main.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/main.c b/main.c
index fbbe899..3229a2c 100644
--- a/main.c
+++ b/main.c
@@ -365,8 +365,18 @@ void action_read(const char *filename, minipro_handle_t *handle, device_t *devic
 }
 
 void action_write(const char *filename, minipro_handle_t *handle, device_t *device) {
-	if(get_file_size(filename) > device->code_memory_size) {
-		ERROR("File is too large");
+	switch(cmdopts.page) {
+		case UNSPECIFIED:
+		case CODE:
+			if(get_file_size(filename) != device->code_memory_size) {
+				ERROR2("Incorrect file size: %d (needed %d)\n", get_file_size(filename), device->code_memory_size);
+			}
+			break;
+		case DATA:
+			if(get_file_size(filename) != device->data_memory_size) {
+				ERROR2("Incorrect file size: %d (needed %d)\n", get_file_size(filename), device->data_memory_size);
+			}
+			break;
 	}
 	minipro_begin_transaction(handle);
 	if (cmdopts.erase==0)
-- 
2.1.0