patches/cdfs-0.5c-discid-1.diff
branchtrunk
changeset 0 474a1293c3c0
     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 +