Hi, Can you try this one?
Revert my last one patch?It change the test code, before the while. I use your script on a Compact Flash and it looks fine for me (under linux).
Regards Michael
Check if the entry is a valid dir_slot entry, otherwise it is a dentry and the name has to be taken by the get_name function Signed-off-by: michael trimarchi <[EMAIL PROTECTED]> --- fs/fat/fat.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/fs/fat/fat.c b/fs/fat/fat.c index 49c78ed..bc37cec 100644 --- a/fs/fat/fat.c +++ b/fs/fat/fat.c @@ -473,8 +473,14 @@ get_vfatname(fsdata *mydata, int curclust, __u8 *cluster, while (slotptr2->id > 0x01) { slotptr2++; } + /* Save the real directory entry */ realdent = (dir_entry*)slotptr2 + 1; + if (slotptr2->attr != ATTR_VFAT) { + get_name ((dir_entry *)realdent, l_name); + goto out; + } + while ((__u8*)slotptr2 >= get_vfatname_block) { slot2str(slotptr2, l_name, &idx); slotptr2--; @@ -494,6 +500,7 @@ get_vfatname(fsdata *mydata, int curclust, __u8 *cluster, else if (*l_name == aRING) *l_name = 'å'; downcase(l_name); +out: /* Return the real directory entry */ memcpy(retdent, realdent, sizeof(dir_entry)); -- 1.5.3.6
------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users