[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[tyndur-devel] [PATCH] shell: Fixes fuer bincat
! shell: bincat soll die angegebene Laenge auch dann respektieren, wenn
sie nicht auf 1024 Bytes ausgerichtet ist
! shell: Offsets in bincat waren um 8 Bytes verrutscht
! shell: An jedem Blockanfang wird rechts das Offset angezeigt. Das war
bisher ebenfalls verrutscht und das erste ist auf einer eigenen Zeile
gelandet.
Signed-off-by: Kevin Wolf <kevin@xxxxxxxxxx>
---
src/modules/c/shell/cmds/bincat.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/modules/c/shell/cmds/bincat.c b/src/modules/c/shell/cmds/bincat.c
index 825e81e..639f066 100644
--- a/src/modules/c/shell/cmds/bincat.c
+++ b/src/modules/c/shell/cmds/bincat.c
@@ -129,7 +129,7 @@ void bincat_display_usage(void);
FILE* file = fopen(path, "r");
lio_seek(file, start, SEEK_SET);
- m = start / 8;
+ m = start - 8;
if (file == NULL) {
printf("Konnte '%s' nicht zum lesen oeffnen!\n", path);
@@ -143,15 +143,20 @@ void bincat_display_usage(void);
total_read += size;
- printf("0x%08x: ", m);
+ if (total_read > length) {
+ size -= total_read - length;
+ }
for (n=0; n < size; n++) {
if ((n % 8) == 0) {
+ if (n == 8) {
+ printf("0x%08x", m);
+ }
m += 8;
printf("\n");
printf("0x%08x: ", m);
}
-
+
printf("0x%02x ", ((dword) buffer[n]) & 0xFF);
}
}
--
1.6.0.2