Differences From
Artifact [4f69a41277]:
487 487 dlg:actor_create(&na)
488 488 lib.report('created new user @',na.handle,'; assign credentials to enable login')
489 489 elseif umode.arglist.ct >= 3 then
490 490 var grant = lib.str.cmp(umode.arglist(1),'grant') == 0
491 491 if not usr then lib.bail('no such user') end
492 492 if grant or lib.str.cmp(umode.arglist(1),'revoke') == 0 then
493 493 var newprivs = usr.ptr.rights.powers
494 - var map = array([lib.store.privmap])
494 + var map = array([lib.store.powmap])
495 495 if umode.arglist.ct == 3 and lib.str.cmp(umode.arglist(2),'all') == 0 then
496 496 if grant
497 497 then newprivs:fill()
498 498 else newprivs:clear()
499 499 end
500 500 else
501 501 for i=2,umode.arglist.ct do
502 502 var priv = umode.arglist(i)
503 503 for j=0,[map.type.N] do
504 504 var p = map[j]
505 505 if p.name:cmp_raw(priv) then
506 506 if grant then
507 507 lib.dbg('enabling power ', {p.name.ptr,p.name.ct})
508 - newprivs = newprivs + p.priv
508 + newprivs = newprivs + p.val
509 509 else
510 510 lib.dbg('disabling power ', {p.name.ptr,p.name.ct})
511 - newprivs = newprivs - p.priv
511 + newprivs = newprivs - p.val
512 512 end
513 513 break
514 514 end
515 515 end
516 516 end
517 517 end
518 518