parsav  Diff

Differences From Artifact [4f69a41277]:

To Artifact [b1a646e421]:


   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