[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.62 and 1.63

version 1.62, 2008/06/22 21:04:01 version 1.63, 2008/06/30 23:35:39
Line 149 
Line 149 
 char            *cdname;  char            *cdname;
 int             fd = -1;  int             fd = -1;
 int             writeperm = 0;  int             writeperm = 0;
   int             mediacap = 0;
 int             verbose = 1;  int             verbose = 1;
 int             msf = 1;  int             msf = 1;
 const char      *cddb_host;  const char      *cddb_host;
Line 166 
Line 167 
 int             play_track(int, int, int, int);  int             play_track(int, int, int, int);
 int             get_vol(int *, int *);  int             get_vol(int *, int *);
 int             status(int *, int *, int *, int *);  int             status(int *, int *, int *, int *);
 int             is_wave(int fd);  int             is_wave(int);
 __dead void     tao(int argc, char **argv);  __dead void     tao(int argc, char **argv);
 int             play(char *arg);  int             play(char *arg);
 int             info(char *arg);  int             info(char *arg);
Line 315 
Line 316 
 int  int
 run(int cmd, char *arg)  run(int cmd, char *arg)
 {  {
         int l, r, rc, cap;          int l, r, rc;
         static char newcdname[MAXPATHLEN];          static char newcdname[MAXPATHLEN];
   
         switch (cmd) {          switch (cmd) {
Line 513 
Line 514 
                 if (!open_cd(cdname, 1))                  if (!open_cd(cdname, 1))
                         return 0;                          return 0;
   
                 if (get_media_capabilities(&cap) == -1) {                  if (get_media_capabilities(&mediacap) == -1) {
                         warnx("Can't determine media type");                          warnx("Can't determine media type");
                         return (0);                          return (0);
                 }                  }
                 if ((cap & MEDIACAP_CDRW_WRITE) == 0) {                  if ((mediacap & MEDIACAP_CDRW_WRITE) == 0) {
                         warnx("The media doesn't support blanking");                          warnx("The media doesn't support blanking");
                         return (0);                          return (0);
                 }                  }
Line 576 
Line 577 
         u_int blklen;          u_int blklen;
         u_int ntracks = 0;          u_int ntracks = 0;
         char type;          char type;
         int ch, cap;          int ch, speed;
           const char *errstr;
   
         if (argc == 1)          if (argc == 1)
                 usage();                  usage();
   
         SLIST_INIT(&tracks);          SLIST_INIT(&tracks);
         type = 'd';          type = 'd';
           speed = DRIVE_SPEED_OPTIMAL;
         blklen = 2048;          blklen = 2048;
         while (argc > 1) {          while (argc > 1) {
                 tr = malloc(sizeof(struct track_info));                  tr = malloc(sizeof(struct track_info));
                 if (tr == NULL)                  if (tr == NULL)
                         err(1, "tao");                          err(1, "tao");
   
                 tr->type = type;  
                 optreset = 1;                  optreset = 1;
                 optind = 1;                  optind = 1;
                 while ((ch = getopt(argc, argv, "ad")) != -1) {                  while ((ch = getopt(argc, argv, "ads:")) != -1) {
                         switch (ch) {                          switch (ch) {
                         case 'a':                          case 'a':
                                 type = 'a';                                  type = 'a';
Line 602 
Line 604 
                                 type = 'd';                                  type = 'd';
                                 blklen = 2048;                                  blklen = 2048;
                                 break;                                  break;
                           case 's':
                                   if (strcmp(optarg, "auto") == 0) {
                                           speed = DRIVE_SPEED_OPTIMAL;
                                   } else if (strcmp(optarg, "max") == 0) {
                                           speed = DRIVE_SPEED_MAX;
                                   } else {
                                           speed = (int)strtonum(optarg, 1,
                                               CD_MAX_SPEED, &errstr);
                                           if (errstr != NULL) {
                                                   errx(1,
                                                       "incorrect speed value");
                                           }
                                   }
                                   break;
                         default:                          default:
                                 usage();                                  usage();
                                 /* NOTREACHED */                                  /* NOTREACHED */
                         }                          }
                 }                  }
   
                   if (speed != DRIVE_SPEED_OPTIMAL && speed != DRIVE_SPEED_MAX)
                           tr->speed = CD_SPEED_TO_KBPS(speed, blklen);
                   else
                           tr->speed = speed;
   
                 tr->type = type;                  tr->type = type;
                 tr->blklen = blklen;                  tr->blklen = blklen;
                 argc -= optind;                  argc -= optind;
Line 637 
Line 658 
   
         if (!open_cd(cdname, 1))          if (!open_cd(cdname, 1))
                 exit(1);                  exit(1);
         if (get_media_capabilities(&cap) == -1)          if (get_media_capabilities(&mediacap) == -1)
                 errx(1, "Can't determine media type");                  errx(1, "Can't determine media type");
         if ((cap & MEDIACAP_TAO) == 0)          if ((mediacap & MEDIACAP_TAO) == 0)
                 errx(1, "The media can't be written in TAO mode");                  errx(1, "The media can't be written in TAO mode");
   
         get_disc_size(&availblk);          get_disc_size(&availblk);

Legend:
Removed from v.1.62  
changed lines
  Added in v.1.63