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

Diff for /src/usr.bin/sndiod/sndiod.c between version 1.3 and 1.4

version 1.3, 2012/11/30 21:04:35 version 1.4, 2012/12/01 12:06:14
Line 158 
Line 158 
         errx(1, "%s: on/off expected", optarg);          errx(1, "%s: on/off expected", optarg);
 }  }
   
   int
   getword(char *word, char **str)
   {
           char *p = *str;
   
           for (;;) {
                   if (*word == '\0')
                           break;
                   if (*word++ != *p++)
                           return 0;
           }
           if (*p == ',' || *p == '\0') {
                   *str = p;
                   return 1;
           }
           return 0;
   }
   
 unsigned int  unsigned int
 opt_mode(void)  opt_mode(void)
 {  {
         unsigned int mode = 0;          unsigned int mode = 0;
         char *p = optarg;          char *p = optarg;
         size_t len;  
   
         for (p = optarg; *p != '\0'; p++) {          for (;;) {
                 len = strcspn(p, ",");                  if (getword("play", &p)) {
                 if (strncmp("play", p, len) == 0) {  
                         mode |= MODE_PLAY;                          mode |= MODE_PLAY;
                 } else if (strncmp("rec", p, len) == 0) {                  } else if (getword("rec", &p)) {
                         mode |= MODE_REC;                          mode |= MODE_REC;
                 } else if (strncmp("mon", p, len) == 0) {                  } else if (getword("mon", &p)) {
                         mode |= MODE_MON;                          mode |= MODE_MON;
                 } else if (strncmp("midi", p, len) == 0) {                  } else if (getword("midi", &p)) {
                         mode |= MODE_MIDIMASK;                          mode |= MODE_MIDIMASK;
                 } else                  } else
                         errx(1, "%s: bad mode", optarg);                          errx(1, "%s: bad mode", optarg);
                 p += len;  
                 if (*p == '\0')                  if (*p == '\0')
                         break;                          break;
                   p++;
         }          }
         if (mode == 0)          if (mode == 0)
                 errx(1, "empty mode");                  errx(1, "empty mode");
Line 413 
Line 429 
                         mkdev(optarg, &par, 0, bufsz, round, rate, hold, autovol);                          mkdev(optarg, &par, 0, bufsz, round, rate, hold, autovol);
                         break;                          break;
                 case 'M':                  case 'M':
                         /* XXX: compatibility with aucat */                          /* XXX: for compatibility with aucat, remove this */
                         break;                          break;
                 default:                  default:
                         fputs(usagestr, stderr);                          fputs(usagestr, stderr);

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4