[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.11 and 1.12

version 1.11, 1998/07/09 20:10:26 version 1.12, 1998/12/20 23:53:35
Line 1164 
Line 1164 
         char *dev;          char *dev;
 {  {
         char *realdev;          char *realdev;
           int tries;
   
         if (fd > -1)          if (fd > -1)
                 return (1);                  return (1);
   
         fd = opendev(dev, O_RDONLY, OPENDEV_PART, &realdev);          for (tries = 0; fd < 0 && tries < 10; tries++) {
         if (fd < 0) {                  fd = opendev(dev, O_RDONLY, OPENDEV_PART, &realdev);
                 if ((errno == ENXIO) || (errno == EIO)) {                  if (fd < 0) {
                         /*  ENXIO has an overloaded meaning here.                          if (errno == ENXIO) {
                          *  The original "Device not configured" should                                  /*  ENXIO has an overloaded meaning here.
                          *  be interpreted as "No disc in drive %s". */                                   *  The original "Device not configured" should
                         warnx ("No disc in drive %s.", realdev);                                   *  be interpreted as "No disc in drive %s". */
                         return (0);                                  warnx ("No disc in drive %s.", realdev);
                                   return (0);
                           } else if (errno != EIO) {
                                   /*  EIO may simply mean the device is not ready
                                    *  yet which is common with CD changers. */
                                   warn ("Can't open %s", realdev);
                                   return (0);
                           }
                 }                  }
                   sleep (1);
           }
           if (fd < 0) {
                 warn ("Can't open %s", realdev);                  warn ("Can't open %s", realdev);
                 return (0);                  return (0);
         }          }

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.12