Hello Wolfgang, > ...but your new code has new issues, too.
Nothing is perfect... Making this code perfect would require a complete rewrite... ;-) The (original) code is buggy too, because I have discovered a strange bug which is causing me quite some headaches last week... ;-) (I have a usb stick here which shows different contents in U-boot than on Linux/Windows, U-boot shows the contents that was on the stick a long time ago, and what it reads is even valid...) At least formatting/whitespaces/tabs is better now. Long indentations and similar code has been moved into separate routines and so on. > And this... >> - actsize=bytesperclust; >> - endclust=curclust; >> - do { >> + actsize = bytesperclust; >> + endclust = curclust; >> + for (;;) { >> /* search for consecutive clusters */ >> - while(actsize < filesize) { >> + while (actsize < filesize) { >> newclust = get_fatent(mydata, endclust); >> - if((newclust -1)!=endclust) >> - goto getit; >> + if ((newclust - 1) != endclust) { >> + if (get_cluster(mydata, curclust, buffer, >> + (int)actsize) != 0) >> { >> + FAT_ERROR("Error reading cluster\n"); >> + return -1; >> + } >> + gotsize += (int)actsize; >> + filesize -= actsize; >> + buffer += actsize; >> + curclust = get_fatent(mydata, endclust); >> + if (CHECK_CLUST(curclust, mydata->fatsize)) { >> + FAT_DPRINT("curclust: 0x%x\n", >> + curclust); >> + FAT_ERROR("Invalid FAT entry\n"); >> + return gotsize; >> + } >> + actsize = bytesperclust; >> + endclust = curclust; >> + continue; >> + } > > ...looks like a massive code change, not only a coding style cleanup. No, I just reordered a strange construction, by moved a piece of code that could only be reached by goto to a label to the place where the goto was listed. This made the code more readable. To me this is still just coding style. > Please submit as two separate patches. There are a few little things that could be put into a separate patch. I will see what I can do... Kind regards, Remy _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot