[FIX] Fix romfs code

This commit is contained in:
Michal Simek 2007-08-06 23:35:26 +02:00
parent ab4b956d31
commit f500d9fdeb

View file

@ -124,7 +124,8 @@ static int romfs_list_inode (struct part_info *info, unsigned long offset)
struct romfs_inode *hardlink = NULL;
char str[3], *data;
/* mapping spec.info means
/*
* mapping spec.info means
* 0 hard link link destination [file header]
* 1 directory first file's header
* 2 regular file unused, must be zero [MBZ]
@ -134,40 +135,9 @@ static int romfs_list_inode (struct part_info *info, unsigned long offset)
* 6 socket unused, MBZ
* 7 fifo unused, MBZ
*/
switch (inode->next & 0x7) {
case 0:
str[0] = 'h';
break;
case 1:
str[0] = 'd';
break;
case 2:
str[0] = 'f';
break;
case 3:
str[0] = 'l';
break;
case 4:
str[0] = 'b';
break;
case 5:
str[0] = 'c';
break;
case 6:
str[0] = 's';
break;
case 7:
str[0] = 'p';
break;
default:
str[0] = '?';
}
if (inode->next & 0x8) {
str[1] = 'x';
} else {
str[1] = '-';
}
char attributes[] = "hdflbcsp";
str[0] = attributes[inode->next & 0x7];
str[1] = (inode->next & 0x8) ? 'x' : '-';
str[2] = '\0';
if ((str[0] == 'b') || (str[0] == 'c')) {