1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/patches/cdfs-0.5c-discid-1.diff Sat Dec 29 14:47:40 2007 +0100
1.3 @@ -0,0 +1,25 @@
1.4 +--- discid.c.orig Thu Dec 27 19:48:57 2001
1.5 ++++ discid.c Mon Feb 23 20:18:44 2004
1.6 +@@ -5,14 +5,18 @@
1.7 +
1.8 +
1.9 + unsigned long discid(cd * this_cd) {
1.10 +- unsigned int i=0, t, n = 0;
1.11 ++ unsigned int i=0, t, n = 0, trks=0, l=0;
1.12 +
1.13 + for (i=0; i< this_cd->tracks; i++)
1.14 +- n += cddb_sum((this_cd->track[T2I(i)].start_lba+CD_MSF_OFFSET)/CD_FRAMES);
1.15 ++ if(this_cd->track[T2I(i)].type==AUDIO) {
1.16 ++ n += cddb_sum((this_cd->track[T2I(i)].start_lba+CD_MSF_OFFSET)/CD_FRAMES);
1.17 ++ trks++; l=i;
1.18 ++ }
1.19 +
1.20 +- t = this_cd->track[T2I(this_cd->tracks-1)].stop_lba/CD_FRAMES;
1.21 ++ t = (this_cd->track[T2I(l+1)].start_lba-
1.22 ++ this_cd->track[T2I(0)].start_lba)/CD_FRAMES;
1.23 +
1.24 +- return (((n % 0xFF) << 24) | (t << 8) | this_cd->tracks);
1.25 ++ return (((n % 0xFF) << 24) | (t << 8) | trks);
1.26 + }
1.27 +
1.28 +