From: Michael Poole Date: Sat, 23 Dec 2006 05:50:25 +0000 (+0000) Subject: Allow last account mask to be deleted with odelmask. X-Git-Tag: v1.4.0-rc1~78 X-Git-Url: http://git.pk910.de/?p=srvx.git;a=commitdiff_plain;h=5800aa43c3167dd3150788ff7497d811fb9caef2 Allow last account mask to be deleted with odelmask. src/nickserv.c (nickserv_delmask): Add parameter to distinguish between normal and override use. (cmd_delmask): Pass the new argument. (cmd_odelmask): Likewise. git-archimport-id: srvx@srvx.net--2006/srvx--devo--1.3--patch-78 --- diff --git a/ChangeLog b/ChangeLog index fc7f626..aa719b9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,22 @@ # arch-tag: automatic-ChangeLog--srvx@srvx.net--2006/srvx--devo--1.3 # +2006-12-23 05:50:25 GMT Michael Poole patch-78 + + Summary: + Allow last account mask to be deleted with odelmask. + Revision: + srvx--devo--1.3--patch-78 + + src/nickserv.c (nickserv_delmask): Add parameter to distinguish between + normal and override use. + (cmd_delmask): Pass the new argument. + (cmd_odelmask): Likewise. + + modified files: + ChangeLog src/nickserv.c + + 2006-12-23 05:40:12 GMT Michael Poole patch-77 Summary: diff --git a/src/nickserv.c b/src/nickserv.c index 9508500..39428a0 100644 --- a/src/nickserv.c +++ b/src/nickserv.c @@ -1985,13 +1985,13 @@ static NICKSERV_FUNC(cmd_oaddmask) } static int -nickserv_delmask(struct userNode *user, struct handle_info *hi, const char *del_mask) +nickserv_delmask(struct userNode *user, struct handle_info *hi, const char *del_mask, int force) { unsigned int i; for (i=0; imasks->used; i++) { if (!strcmp(del_mask, hi->masks->list[i])) { char *old_mask = hi->masks->list[i]; - if (hi->masks->used == 1) { + if (hi->masks->used == 1 && !force) { send_message(user, nickserv, "NSMSG_DELMASK_NOTLAST"); return 0; } @@ -2008,7 +2008,7 @@ nickserv_delmask(struct userNode *user, struct handle_info *hi, const char *del_ static NICKSERV_FUNC(cmd_delmask) { NICKSERV_MIN_PARMS(2); - return nickserv_delmask(user, user->handle_info, argv[1]); + return nickserv_delmask(user, user->handle_info, argv[1], 0); } static NICKSERV_FUNC(cmd_odelmask) @@ -2017,7 +2017,7 @@ static NICKSERV_FUNC(cmd_odelmask) NICKSERV_MIN_PARMS(3); if (!(hi = get_victim_oper(user, argv[1]))) return 0; - return nickserv_delmask(user, hi, argv[2]); + return nickserv_delmask(user, hi, argv[2], 1); } int