[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.58 and 1.59

version 1.58, 2008/05/07 23:27:50 version 1.59, 2008/06/06 10:16:52
Line 148 
Line 148 
   
 char            *cdname;  char            *cdname;
 int             fd = -1;  int             fd = -1;
   int             writeperm = 0;
 int             verbose = 1;  int             verbose = 1;
 int             msf = 1;  int             msf = 1;
 const char      *cddb_host;  const char      *cddb_host;
Line 387 
Line 388 
                 exit(0);                  exit(0);
   
         case CMD_INFO:          case CMD_INFO:
                 if (fd < 0 && ! open_cd(cdname, 0))                  if (!open_cd(cdname, 0))
                         return (0);                          return (0);
   
                 return info(arg);                  return info(arg);
   
         case CMD_CDDB:          case CMD_CDDB:
                 if (fd < 0 && ! open_cd(cdname, 0))                  if (!open_cd(cdname, 0))
                         return (0);                          return (0);
   
                 return cddbinfo(arg);                  return cddbinfo(arg);
   
         case CMD_CDID:          case CMD_CDID:
                 if (fd < 0 && ! open_cd(cdname, 0))                  if (!open_cd(cdname, 0))
                         return (0);                          return (0);
                 return cdid();                  return cdid();
   
         case CMD_STATUS:          case CMD_STATUS:
                 if (fd < 0 && ! open_cd(cdname, 0))                  if (!open_cd(cdname, 0))
                         return (0);                          return (0);
   
                 return pstatus(arg);                  return pstatus(arg);
   
         case CMD_PAUSE:          case CMD_PAUSE:
                 if (fd < 0 && ! open_cd(cdname, 0))                  if (!open_cd(cdname, 0))
                         return (0);                          return (0);
   
                 return ioctl(fd, CDIOCPAUSE);                  return ioctl(fd, CDIOCPAUSE);
   
         case CMD_RESUME:          case CMD_RESUME:
                 if (fd < 0 && ! open_cd(cdname, 0))                  if (!open_cd(cdname, 0))
                         return (0);                          return (0);
   
                 return ioctl(fd, CDIOCRESUME);                  return ioctl(fd, CDIOCRESUME);
   
         case CMD_STOP:          case CMD_STOP:
                 if (fd < 0 && ! open_cd(cdname, 0))                  if (!open_cd(cdname, 0))
                         return (0);                          return (0);
   
                 rc = ioctl(fd, CDIOCSTOP);                  rc = ioctl(fd, CDIOCSTOP);
Line 432 
Line 433 
                 return (rc);                  return (rc);
   
         case CMD_RESET:          case CMD_RESET:
                 if (fd < 0 && ! open_cd(cdname, 0))                  if (!open_cd(cdname, 0))
                         return (0);                          return (0);
   
                 rc = ioctl(fd, CDIOCRESET);                  rc = ioctl(fd, CDIOCRESET);
Line 443 
Line 444 
                 return (0);                  return (0);
   
         case CMD_DEBUG:          case CMD_DEBUG:
                 if (fd < 0 && ! open_cd(cdname, 0))                  if (!open_cd(cdname, 0))
                         return (0);                          return (0);
   
                 if (!strcasecmp(arg, "on"))                  if (!strcasecmp(arg, "on"))
Line 477 
Line 478 
                 return (1);                  return (1);
   
         case CMD_EJECT:          case CMD_EJECT:
                 if (fd < 0 && ! open_cd(cdname, 0))                  if (!open_cd(cdname, 0))
                         return (0);                          return (0);
   
                 (void) ioctl(fd, CDIOCALLOW);                  (void) ioctl(fd, CDIOCALLOW);
Line 495 
Line 496 
   
         case CMD_CLOSE:          case CMD_CLOSE:
 #if defined(CDIOCCLOSE)  #if defined(CDIOCCLOSE)
                 if (fd < 0 && ! open_cd(cdname, 0))                  if (!open_cd(cdname, 0))
                         return (0);                          return (0);
   
                 (void) ioctl(fd, CDIOCALLOW);                  (void) ioctl(fd, CDIOCALLOW);
Line 511 
Line 512 
 #endif  #endif
   
         case CMD_PLAY:          case CMD_PLAY:
                 if (fd < 0 && ! open_cd(cdname, 0))                  if (!open_cd(cdname, 0))
                         return (0);                          return (0);
   
                 while (isspace(*arg))                  while (isspace(*arg))
Line 529 
Line 530 
                 return (0);                  return (0);
   
         case CMD_VOLUME:          case CMD_VOLUME:
                 if (fd < 0 && !open_cd(cdname, 0))                  if (!open_cd(cdname, 0))
                         return (0);                          return (0);
   
                 if (!strncasecmp(arg, "left", strlen(arg)))                  if (!strncasecmp(arg, "left", strlen(arg)))
Line 555 
Line 556 
                 return setvol(l, r);                  return setvol(l, r);
   
         case CMD_NEXT:          case CMD_NEXT:
                 if (fd < 0 && ! open_cd(cdname, 0))                  if (!open_cd(cdname, 0))
                         return (0);                          return (0);
   
                 return play_next(arg);                  return play_next(arg);
   
         case CMD_PREV:          case CMD_PREV:
                 if (fd < 0 && ! open_cd(cdname, 0))                  if (!open_cd(cdname, 0))
                         return (0);                          return (0);
   
                 return play_prev(arg);                  return play_prev(arg);
   
         case CMD_REPLAY:          case CMD_REPLAY:
                 if (fd < 0 && ! open_cd(cdname, 0))                  if (!open_cd(cdname, 0))
                         return 0;                          return 0;
   
                 return play_same(arg);                  return play_same(arg);
         case CMD_BLANK:          case CMD_BLANK:
                 if (fd < 0 && ! open_cd(cdname, 1))                  if (!open_cd(cdname, 1))
                         return 0;                          return 0;
   
                 return blank();                  return blank();
         case CMD_CDRIP:          case CMD_CDRIP:
                 if (fd < 0 && ! open_cd(cdname, 0))                  if (!open_cd(cdname, 0))
                         return (0);                          return (0);
   
                 while (isspace(*arg))                  while (isspace(*arg))
Line 585 
Line 586 
   
                 return cdrip(arg);                  return cdrip(arg);
         case CMD_CDPLAY:          case CMD_CDPLAY:
                 if (fd < 0 && ! open_cd(cdname, 0))                  if (!open_cd(cdname, 0))
                         return (0);                          return (0);
   
                 while (isspace(*arg))                  while (isspace(*arg))
Line 1499 
Line 1500 
         char *realdev;          char *realdev;
         int tries;          int tries;
   
         if (fd > -1)          if (fd > -1) {
                 return (1);                  if (needwrite && !writeperm) {
                           close(fd);
                           fd = -1;
                   } else
                           return (1);
           }
   
         for (tries = 0; fd < 0 && tries < 10; tries++) {          for (tries = 0; fd < 0 && tries < 10; tries++) {
                 if (needwrite)                  if (needwrite)
Line 1527 
Line 1533 
                 warn("Can't open %s", realdev);                  warn("Can't open %s", realdev);
                 return (0);                  return (0);
         }          }
           writeperm = needwrite;
         return (1);          return (1);
 }  }
   

Legend:
Removed from v.1.58  
changed lines
  Added in v.1.59