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

Diff for /src/usr.bin/sndiod/sock.c between version 1.39 and 1.40

version 1.39, 2021/01/29 11:31:28 version 1.40, 2021/01/29 11:36:44
Line 906 
Line 906 
                         }                          }
                         return 0;                          return 0;
                 }                  }
                 f->ctlslot = ctlslot_new(d, &sock_ctlops, f);                  opt = opt_byname(d, p->opt);
                   if (opt == NULL)
                           return 0;
                   f->ctlslot = ctlslot_new(opt, &sock_ctlops, f);
                 if (f->ctlslot == NULL) {                  if (f->ctlslot == NULL) {
                         if (log_level >= 2) {                          if (log_level >= 2) {
                                 sock_log(f);                                  sock_log(f);
Line 1264 
Line 1267 
                 if (m->u.ctlsub.desc) {                  if (m->u.ctlsub.desc) {
                         if (!(f->ctlops & SOCK_CTLDESC)) {                          if (!(f->ctlops & SOCK_CTLDESC)) {
                                 ctl = f->ctlslot->self;                                  ctl = f->ctlslot->self;
                                 c = f->ctlslot->dev->ctl_list;                                  c = f->ctlslot->opt->dev->ctl_list;
                                 while (c != NULL) {                                  while (c != NULL) {
                                         c->desc_mask |= ctl;                                          c->desc_mask |= ctl;
                                         c = c->next;                                          c = c->next;
Line 1298 
Line 1301 
                         sock_close(f);                          sock_close(f);
                         return 0;                          return 0;
                 }                  }
                 if (!dev_setctl(f->ctlslot->dev,                  if (!dev_setctl(f->ctlslot->opt->dev,
                         ntohs(m->u.ctlset.addr),                          ntohs(m->u.ctlset.addr),
                         ntohs(m->u.ctlset.val))) {                          ntohs(m->u.ctlset.val))) {
 #ifdef DEBUG  #ifdef DEBUG
Line 1552 
Line 1555 
                 desc = f->ctldesc;                  desc = f->ctldesc;
                 mask = f->ctlslot->self;                  mask = f->ctlslot->self;
                 size = 0;                  size = 0;
                 pc = &f->ctlslot->dev->ctl_list;                  pc = &f->ctlslot->opt->dev->ctl_list;
                 while ((c = *pc) != NULL) {                  while ((c = *pc) != NULL) {
                         if ((c->desc_mask & mask) == 0 ||                          if ((c->desc_mask & mask) == 0 ||
                             (c->refs_mask & mask) == 0) {                              (c->refs_mask & mask) == 0) {
Line 1609 
Line 1612 
         }          }
         if (f->ctlslot && (f->ctlops & SOCK_CTLVAL)) {          if (f->ctlslot && (f->ctlops & SOCK_CTLVAL)) {
                 mask = f->ctlslot->self;                  mask = f->ctlslot->self;
                 for (c = f->ctlslot->dev->ctl_list; c != NULL; c = c->next) {                  for (c = f->ctlslot->opt->dev->ctl_list; c != NULL; c = c->next) {
                         if ((c->val_mask & mask) == 0)                          if ((c->val_mask & mask) == 0)
                                 continue;                                  continue;
                         c->val_mask &= ~mask;                          c->val_mask &= ~mask;

Legend:
Removed from v.1.39  
changed lines
  Added in v.1.40