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

Diff for /src/usr.bin/sndiod/opt.c between version 1.5 and 1.6

version 1.5, 2021/01/29 11:21:00 version 1.6, 2021/01/29 11:25:05
Line 30 
Line 30 
     int pmin, int pmax, int rmin, int rmax,      int pmin, int pmax, int rmin, int rmax,
     int maxweight, int mmc, int dup, unsigned int mode)      int maxweight, int mmc, int dup, unsigned int mode)
 {  {
         struct opt *o;          struct opt *o, **po;
         unsigned int len;          unsigned int len, num;
         char c;          char c;
   
         if (opt_byname(d, name)) {  
                 dev_log(d);  
                 log_puts(".");  
                 log_puts(name);  
                 log_puts(": already defined\n");  
                 return NULL;  
         }  
         for (len = 0; name[len] != '\0'; len++) {          for (len = 0; name[len] != '\0'; len++) {
                 if (len == OPT_NAMEMAX) {                  if (len == OPT_NAMEMAX) {
                         log_puts(name);                          log_puts(name);
Line 55 
Line 48 
                         return NULL;                          return NULL;
                 }                  }
         }          }
           num = 0;
           for (po = &opt_list; *po != NULL; po = &(*po)->next)
                   num++;
           if (num >= OPT_NMAX) {
                   log_puts(name);
                   log_puts(": too many opts\n");
                   return NULL;
           }
           if (opt_byname(d, name)) {
                   dev_log(d);
                   log_puts(".");
                   log_puts(name);
                   log_puts(": already defined\n");
                   return NULL;
           }
         o = xmalloc(sizeof(struct opt));          o = xmalloc(sizeof(struct opt));
           o->num = num;
         o->dev = d;          o->dev = d;
         if (mode & MODE_PLAY) {          if (mode & MODE_PLAY) {
                 o->pmin = pmin;                  o->pmin = pmin;
Line 70 
Line 79 
         o->dup = dup;          o->dup = dup;
         o->mode = mode;          o->mode = mode;
         memcpy(o->name, name, len + 1);          memcpy(o->name, name, len + 1);
         o->next = opt_list;          o->next = *po;
         opt_list = o;          *po = o;
         if (log_level >= 2) {          if (log_level >= 2) {
                 dev_log(d);                  dev_log(d);
                 log_puts(".");                  log_puts(".");

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6