1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
From: Simon Glass <sjg@chromium.org>
Date: Thu, 22 Sep 2011 17:11:04 +0000 (-0700)
Subject: ftdump: use utilfdt to read blob
X-Git-Url: http://git.jdl.com/gitweb/?p=dtc.git;a=commitdiff_plain;h=07a8691fbbeb2a7e0cff85fb24435e2dc71facaf
ftdump: use utilfdt to read blob
Now that we have utilfdt_read(), ftdump should use it too.
Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
---
diff --git a/ftdump.c b/ftdump.c
index db932e3..cc55fe2 100644
--- a/ftdump.c
+++ b/ftdump.c
@@ -13,8 +13,6 @@
#include "util.h"
-#define FTDUMP_BUF_SIZE 65536
-
#define ALIGN(x, a) (((x) + ((a) - 1)) & ~((a) - 1))
#define PALIGN(p, a) ((void *)(ALIGN((unsigned long)(p), (a))))
#define GET_CELL(p) (p += 4, *((const uint32_t *)(p-4)))
@@ -147,40 +145,18 @@ static void dump_blob(void *blob)
int main(int argc, char *argv[])
{
- FILE *fp;
char *buf;
- int size;
if (argc < 2) {
fprintf(stderr, "supply input filename\n");
return 5;
}
- if (strcmp(argv[1], "-") == 0) {
- fp = stdin;
- } else {
- fp = fopen(argv[1], "rb");
- if (fp == NULL) {
- fprintf(stderr, "unable to open %s\n", argv[1]);
- return 10;
- }
- }
-
- buf = malloc(FTDUMP_BUF_SIZE);
- if (!buf) {
- fprintf(stderr, "Couldn't allocate %d byte buffer\n", FTDUMP_BUF_SIZE);
+ buf = utilfdt_read(argv[1]);
+ if (buf)
+ dump_blob(buf);
+ else
return 10;
- }
-
- size = fread(buf, 1, FTDUMP_BUF_SIZE, fp);
- if (size == FTDUMP_BUF_SIZE) {
- fprintf(stderr, "file too large (maximum is %d bytes)\n", FTDUMP_BUF_SIZE);
- return 10;
- }
-
- dump_blob(buf);
-
- fclose(fp);
return 0;
}
|