--- grub2/fs/fat.c 2004-08-28 07:14:29.000000000 -0600 +++ grub2.modified/fs/fat.c 2005-02-16 00:39:25.271409504 -0700 @@ -243,7 +243,7 @@ else { /* FAT12 or FAT16. */ - data->root_cluster = ~0UL; + data->root_cluster = 0xffffffff; if (data->num_clusters <= 4085 + 2) { @@ -293,7 +293,7 @@ /* Start from the root directory. */ data->file_cluster = data->root_cluster; - data->cur_cluster_num = ~0UL; + data->cur_cluster_num = 0xffffffff; data->attr = GRUB_FAT_ATTR_DIRECTORY; return data; @@ -318,7 +318,7 @@ /* This is a special case. FAT12 and FAT16 doesn't have the root directory in clusters. */ - if (data->file_cluster == ~0UL) + if (data->file_cluster == 0xffffffff) { size = (data->num_root_sectors << GRUB_DISK_SECTOR_BITS) - offset; if (size > len) @@ -613,7 +613,7 @@ data->file_size = grub_le_to_cpu32 (dir.file_size); data->file_cluster = ((grub_le_to_cpu16 (dir.first_cluster_high) << 16) | grub_le_to_cpu16 (dir.first_cluster_low)); - data->cur_cluster_num = ~0UL; + data->cur_cluster_num = 0xffffffff; return dirp; }