- target_p->user->privset = privset;
- const char *modeparv[4];
- modeparv[0] = modeparv[1] = target_p->name;
- modeparv[2] = "+";
- modeparv[3] = NULL;
- user_mode(target_p, target_p, 3, modeparv);
+ report_priv_change(target_p, old_privset, privset);
+
+ if (old_privset != NULL)
+ privilegeset_unref(old_privset);
+
+ const char *modeparv[4];
+ modeparv[0] = modeparv[1] = target_p->name;
+ modeparv[2] = "+";
+ modeparv[3] = NULL;
+ user_mode(target_p, target_p, 3, modeparv);
+ }