diff options
author | Tom Rini <trini@konsulko.com> | 2016-12-09 07:10:39 -0500 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2016-12-09 07:10:39 -0500 |
commit | 3edc0c252257e4afed163a3a74aba24a5509b198 (patch) | |
tree | de01174e841e19844a158569113c559993764248 /tools/zynqimage.c | |
parent | bb135a0180c31fbd7456021fb9700b49bba7f533 (diff) | |
parent | b63cb3abbc626dc918828f302bd8ea72e7c226d2 (diff) |
Merge branch 'master' of git://www.denx.de/git/u-boot-microblaze
Diffstat (limited to 'tools/zynqimage.c')
-rw-r--r-- | tools/zynqimage.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/tools/zynqimage.c b/tools/zynqimage.c index 43876e7a30..b47132b02a 100644 --- a/tools/zynqimage.c +++ b/tools/zynqimage.c @@ -225,16 +225,26 @@ static int zynqimage_check_image_types(uint8_t type) static void zynqimage_parse_initparams(struct zynq_header *zynqhdr, const char *filename) { - /* Expect a table of register-value pairs, e.g. "0x12345678 0x4321" */ - FILE *fp = fopen(filename, "r"); + FILE *fp; struct zynq_reginit reginit; unsigned int reg_count = 0; - int r; + int r, err; + struct stat path_stat; + /* Expect a table of register-value pairs, e.g. "0x12345678 0x4321" */ + fp = fopen(filename, "r"); if (!fp) { fprintf(stderr, "Cannot open initparams file: %s\n", filename); exit(1); } + + err = fstat(fileno(fp), &path_stat); + if (err) + return; + + if (!S_ISREG(path_stat.st_mode)) + return; + do { r = fscanf(fp, "%x %x", ®init.address, ®init.data); if (r == 2) { |