+ } else {
+ struct hs_assignment *assignment;
+ struct hs_secondlevel *slfh;
+ for(assignment = huser->assignments; assignment; assignment = assignment->unext) {
+ slfh = assignment->secondlevel;
+ if(slfh->devnull_id) {
+ devc = devnull_find_id(slfh->devnull_id);
+ if(!devc) {
+ slfh->devnull_id = 0;
+ continue;
+ }
+ if(DEVNULL_HAS_PRIV(devc, CHANLIMIT) && (!DEVNULL_HAS_PRIV(&th, CHANLIMIT) || th.maxchan < devc->maxchan))
+ th.maxchan = devc->maxchan;
+ if(DEVNULL_HAS_PRIV(devc, MAXSENDQ) && (!DEVNULL_HAS_PRIV(&th, MAXSENDQ) || th.maxsendq < devc->maxsendq))
+ th.maxsendq = devc->maxsendq;
+ th.modes |= devc->modes;
+ if(!th.name)
+ th.name = devc->name;
+ }
+ }