[BACK]Return to cdio.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / cdio

Diff for /src/usr.bin/cdio/cdio.c between version 1.42 and 1.43

version 1.42, 2006/01/09 00:20:31 version 1.43, 2006/01/09 04:05:43
Line 178 
Line 178 
 char            *strstatus(int);  char            *strstatus(int);
 int             cdid(void);  int             cdid(void);
 void            addmsf(u_int *, u_int *, u_int *, u_char, u_char, u_char);  void            addmsf(u_int *, u_int *, u_int *, u_char, u_char, u_char);
   void            toc2msf(u_int, u_char *, u_char *, u_char *);
   
 void  void
 help(void)  help(void)
Line 627 
Line 628 
                 else if (tr1 > n)                  else if (tr1 > n)
                         tr1 = n;                          tr1 = n;
   
                 if (msf) {                  toc2msf(tr1+1, &tm, &ts, &tf);
                         tm = toc_buffer[tr1].addr.msf.minute;  
                         ts = toc_buffer[tr1].addr.msf.second;  
                         tf = toc_buffer[tr1].addr.msf.frame;  
                 } else  
                         lba2msf(toc_buffer[tr1].addr.lba, &tm, &ts, &tf);  
                 if ((m1 > tm)                  if ((m1 > tm)
                     || ((m1 == tm)                      || ((m1 == tm)
                     && ((s1 > ts)                      && ((s1 > ts)
Line 652 
Line 649 
                                 addmsf(&m2, &s2, &f2, m1, s1, f1);                                  addmsf(&m2, &s2, &f2, m1, s1, f1);
                         } else {                          } else {
                                 tr2 = n;                                  tr2 = n;
                                 if (msf) {                                  toc2msf(tr2+1, &tm, &ts, &tf);
                                         m2 = toc_buffer[n].addr.msf.minute;                                  m2 = tm;
                                         s2 = toc_buffer[n].addr.msf.second;                                  s2 = ts;
                                         f2 = toc_buffer[n].addr.msf.frame;                                  f2 = tf;
                                 } else {  
                                         lba2msf(toc_buffer[n].addr.lba, &tm,  
                                             &ts, &tf);  
                                         m2 = tm;  
                                         s2 = ts;  
                                         f2 = tf;  
                                 }  
                         }                          }
                 } else if (tr2 > n) {                  } else if (tr2 > n) {
                         tr2 = n;                          tr2 = n;
Line 670 
Line 660 
                 } else {                  } else {
                         if (m2 || s2 || f2)                          if (m2 || s2 || f2)
                                 tr2--;                                  tr2--;
                         if (msf) {                          toc2msf(tr2+1, &tm, &ts, &tf);
                                 tm = toc_buffer[tr2].addr.msf.minute;  
                                 ts = toc_buffer[tr2].addr.msf.second;  
                                 tf = toc_buffer[tr2].addr.msf.frame;  
                         } else  
                                 lba2msf(toc_buffer[tr2].addr.lba, &tm, &ts,  
                                     &tf);  
                         addmsf(&m2, &s2, &f2, tm, ts, tf);                          addmsf(&m2, &s2, &f2, tm, ts, tf);
                 }                  }
   
                 if (msf) {                  toc2msf(n+1, &tm, &ts, &tf);
                         tm = toc_buffer[n].addr.msf.minute;  
                         ts = toc_buffer[n].addr.msf.second;  
                         tf = toc_buffer[n].addr.msf.frame;  
                 } else  
                         lba2msf(toc_buffer[n].addr.lba, &tm, &ts, &tf);  
                 if ((tr2 < n)                  if ((tr2 < n)
                     && ((m2 > tm)                      && ((m2 > tm)
                     || ((m2 == tm)                      || ((m2 == tm)
Line 708 
Line 688 
                         goto Clean_up;                          goto Clean_up;
   
                 if (m2 == 0) {                  if (m2 == 0) {
                         if (msf) {                          toc2msf(n+1, &tm, &ts, &tf);
                                 m2 = toc_buffer[n].addr.msf.minute;                          m2 = tm;
                                 s2 = toc_buffer[n].addr.msf.second;                          s2 = ts;
                                 f2 = toc_buffer[n].addr.msf.frame;                          f2 = tf;
                         } else {  
                                 lba2msf(toc_buffer[n].addr.lba, &tm, &ts, &tf);  
                                 m2 = tm;  
                                 s2 = ts;  
                                 f2 = tf;  
                         }  
                 }                  }
   
                 return play_msf(m1, s1, f1, m2, s2, f2);                  return play_msf(m1, s1, f1, m2, s2, f2);
         }          }
   
Line 1374 
Line 1349 
         }          }
   
         *m += m_inc;          *m += m_inc;
   }
   
   void
   toc2msf(u_int track, u_char *m, u_char *s, u_char *f)
   {
           struct cd_toc_entry *ctep;
   
           ctep = &toc_buffer[track - 1];
   
           if (msf) {
                   *m = ctep->addr.msf.minute;
                   *s = ctep->addr.msf.second;
                   *f = ctep->addr.msf.frame;
           } else
                   lba2msf(ctep->addr.lba, m, s, f);
 }  }

Legend:
Removed from v.1.42  
changed lines
  Added in v.1.43