Index: id3.c =================================================================== RCS file: /cvsroot/rockbox/firmware/id3.c,v retrieving revision 1.39 diff -u -b -r1.39 id3.c --- id3.c 22 Aug 2002 07:59:31 -0000 1.39 +++ id3.c 30 Aug 2002 07:41:40 -0000 @@ -116,10 +116,11 @@ static bool setid3v1title(int fd, struct mp3entry *entry) { char buffer[31]; - int offsets[3] = {-95,-65,-125}; + int offsets[4] = {-95,-65,-125,-31}; int i; + char tracknum[3]; - for(i=0;i<3;i++) { + for(i=0;i<4;i++) { if(-1 == lseek(fd, offsets[i], SEEK_END)) return false; @@ -140,6 +141,20 @@ case 2: strcpy(entry->id3v1buf[2], buffer); entry->title = entry->id3v1buf[2]; + break; + case 3: + if (buffer[0] == 'T' && + buffer[1] == 'r' && + buffer[2] == 'a' && + buffer[3] == 'c' && + buffer[4] == 'k' && + buffer[5] == ' ') { + tracknum[0] = buffer[6]; + tracknum[1] = buffer[7]; + tracknum[2] = buffer[8]; + stripspaces(tracknum); + entry->tracknum = atoi(tracknum); + } break; } }