Jim Meyering <[EMAIL PROTECTED]> writes:
> Looking at the switch in fat_table_set_eof,
> I see this:
>
> int
> fat_table_set_eof (FatTable* ft, FatCluster cluster)
> {
>
> switch (ft->fat_type) {
> case FAT_TYPE_FAT16:
> return fat_table_set (ft, cluster, 0xfff8);
>
> case FAT_TYPE_FAT32:
> return fat_table_set (ft, cluster, 0x0fffffff);
> }
> return 0;
> }
>
> but doc/FAT says this:
>
> * end of file (0xff0 for FAT12, 0xfff0 for FAT16, 0x0ffffff0 for FAT32).
>
> Is this an inconsistency?
> If so, any idea which is right?
I think so. There're more of them:
Check:
#v+
static int
_test_code_eof (const FatTable* ft, FatCluster code)
{
switch (ft->fat_type) {
case FAT_TYPE_FAT16:
if (code >= 0xfff7) return 1;
break;
case FAT_TYPE_FAT32:
if (code >= 0x0ffffff7) return 1;
break;
}
return 0;
}
#-
This is also wrong since it would never return the _eof case since we
tag them differently (even doing it wrong as you spot above)
Those two cases might be fixed then.
--
O T A V I O S A L V A D O R
---------------------------------------------
E-mail: [EMAIL PROTECTED] UIN: 5906116
GNU/Linux User: 239058 GPG ID: 49A5F855
Home Page: http://otavio.ossystems.com.br
---------------------------------------------
"Microsoft sells you Windows ... Linux gives
you the whole house."
_______________________________________________
parted-devel mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/parted-devel