]> git.sur5r.net Git - u-boot/blobdiff - fs/ubifs/ubifs.c
omap3_beagle: Add CONFIG_CMD_ASKENV
[u-boot] / fs / ubifs / ubifs.c
index 5a5c739b53f5caccf1936efa7bbe93178f11494e..604eb8fdc213ecf1482222597ebf0663c0776bf7 100644 (file)
@@ -360,6 +360,8 @@ out:
                return err;
        }
 
+       if (file->private_data)
+               kfree(file->private_data);
        if (file)
                free(file);
        if (dentry)
@@ -367,10 +369,6 @@ out:
        if (dir)
                free(dir);
 
-       if (file->private_data)
-               kfree(file->private_data);
-       file->private_data = NULL;
-       file->f_pos = 2;
        return 0;
 }
 
@@ -688,6 +686,7 @@ int ubifs_load(char *filename, u32 addr, u32 size)
        int i;
        int count;
        int last_block_size = 0;
+       char buf [10];
 
        c->ubi = ubi_open_volume(c->vi.ubi_num, c->vi.vol_id, UBI_READONLY);
        /* ubifs_findfile will resolve symlinks, so we know that we get
@@ -739,8 +738,11 @@ int ubifs_load(char *filename, u32 addr, u32 size)
 
        if (err)
                printf("Error reading file '%s'\n", filename);
-       else
+       else {
+               sprintf(buf, "%X", size);
+               setenv("filesize", buf);
                printf("Done\n");
+       }
 
        ubifs_iput(inode);