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;
             }
         }


