Changeset 1433ecda in mainline for uspace/app/blkdump/blkdump.c
- Timestamp:
- 2018-04-04T15:42:37Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 2c4e1cc
- Parents:
- 47b2d7e3
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/blkdump/blkdump.c
r47b2d7e3 r1433ecda 79 79 } 80 80 81 --argc; ++argv; 81 --argc; 82 ++argv; 82 83 83 84 if (str_cmp(*argv, "--toc") == 0) { 84 --argc; ++argv; 85 --argc; 86 ++argv; 85 87 toc = true; 86 88 goto devname; … … 88 90 89 91 if (str_cmp(*argv, "--relative") == 0) { 90 --argc; ++argv; 92 --argc; 93 ++argv; 91 94 relative = true; 92 95 } 93 96 94 97 if (str_cmp(*argv, "--offset") == 0) { 95 --argc; ++argv; 98 --argc; 99 ++argv; 96 100 if (*argv == NULL) { 97 101 printf(NAME ": Error, argument missing (offset).\n"); … … 107 111 } 108 112 109 --argc; ++argv; 113 --argc; 114 ++argv; 110 115 } 111 116 112 117 if (str_cmp(*argv, "--count") == 0) { 113 --argc; ++argv; 118 --argc; 119 ++argv; 114 120 if (*argv == NULL) { 115 121 printf(NAME ": Error, argument missing (count).\n"); … … 125 131 } 126 132 127 --argc; ++argv; 133 --argc; 134 ++argv; 128 135 } 129 136 … … 196 203 } 197 204 198 printf("---- Block %" PRIuOFF64 " (at %" PRIuOFF64 ") ----\n", current, current *block_size);205 printf("---- Block %" PRIuOFF64 " (at %" PRIuOFF64 ") ----\n", current, current * block_size); 199 206 200 207 for (data_offset = 0; data_offset < block_size; data_offset += 16) { 201 208 if (relative) { 202 209 printf("%8" PRIxOFF64 ": ", (aoff64_t) data_offset); 210 } else { 211 printf("%8" PRIxOFF64 ": ", current * block_size + data_offset); 203 212 } 204 else { 205 printf("%8" PRIxOFF64 ": ", current*block_size + data_offset); 206 } 207 print_hex_row(data+data_offset, block_size-data_offset, 16); 213 print_hex_row(data + data_offset, block_size - data_offset, 16); 208 214 printf("\n"); 209 215 } … … 238 244 * Print a row of 16 bytes as commonly seen in hexadecimal dumps 239 245 */ 240 static void print_hex_row(uint8_t *data, size_t length, size_t bytes_per_row) { 246 static void print_hex_row(uint8_t *data, size_t length, size_t bytes_per_row) 247 { 241 248 size_t pos; 242 249 uint8_t b; … … 248 255 /* Print hexadecimal values */ 249 256 for (pos = 0; pos < length; pos++) { 250 if (pos == length /2) {257 if (pos == length / 2) { 251 258 printf(" "); 252 259 } … … 256 263 /* Pad with spaces if we have less than 16 bytes */ 257 264 for (pos = length; pos < bytes_per_row; pos++) { 258 if (pos == length /2) {265 if (pos == length / 2) { 259 266 printf(" "); 260 267 } … … 264 271 /* Print printable characters */ 265 272 for (pos = 0; pos < length; pos++) { 266 if (pos == length /2) {273 if (pos == length / 2) { 267 274 printf(" "); 268 275 } … … 270 277 if (b >= 32 && b < 128) { 271 278 putchar(b); 272 } 273 else { 279 } else { 274 280 putchar('.'); 275 281 }
Note:
See TracChangeset
for help on using the changeset viewer.