]> git.sur5r.net Git - u-boot/blobdiff - tools/zynqmpimage.c
tools/kwbimage.h: make offset marks style consistent
[u-boot] / tools / zynqmpimage.c
index 202faea07295a39efde8d5e70775aa0656917630..0c9a3daddd6a9a6e14586fe1092f1203b151072e 100644 (file)
@@ -240,19 +240,27 @@ static void zynqmpimage_parse_initparams(struct zynqmp_header *zynqhdr,
        FILE *fp;
        struct zynqmp_reginit reginit;
        unsigned int reg_count = 0;
-       int r;
+       int r, err;
        struct stat path_stat;
 
-       stat(filename, &path_stat);
-       if (!S_ISREG(path_stat.st_mode))
-               return;
-
        /* 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) {
+               fclose(fp);
+               return;
+       }
+
+       if (!S_ISREG(path_stat.st_mode)) {
+               fclose(fp);
+               return;
+       }
+
        do {
                r = fscanf(fp, "%x %x", &reginit.address, &reginit.data);
                if (r == 2) {