From c63edd448a0ab7d83ddb5724cb9c141009be5a45 Mon Sep 17 00:00:00 2001 From: pk910 Date: Fri, 4 Jan 2013 21:11:23 +0100 Subject: [PATCH] fixed some compiler warnings and prevent duplicate assignments --- src/mod-hostserv.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/mod-hostserv.c b/src/mod-hostserv.c index fbba68c..56ef745 100644 --- a/src/mod-hostserv.c +++ b/src/mod-hostserv.c @@ -81,6 +81,7 @@ static const struct message_entry msgtab[] = { { "HSMSG_MANAGER_NOT", "$b%s$b is not a manager of %s.%s" }, { "HSMSG_MANAGER_DELETED", "$b%s$b is no longer a manager of %s.%s" }, { "HSMSG_FAKEHOST_ASSIGN_SUCCESS", "Group $b%s.%s$b was assigned successfully." }, + { "HSMSG_FAKEHOST_ASSIGNED", "Group $b%s.%s$b is already assigned to the user." }, { "HSMSG_FAKEHOST_UNASSIGN_SUCCESS", "Group $b%s.%s$b was unassigned successfully." }, { NULL, NULL } @@ -706,7 +707,7 @@ static MODCMD_FUNC(cmd_addhost) { if(!irccasecmp(slfh_name, "*")) { if(!check_management_access(hi, NULL, NULL)) { reply("HSMSG_ACCESS_DENIED"); - return NULL; + return 0; } for(tlfh = toplevels; tlfh; tlfh = tlfh->next) { if(!irccasecmp(tlfh->fakehost, tlfh_name)) break; @@ -950,7 +951,6 @@ static MODCMD_FUNC(cmd_set) { struct handle_info *hi; struct hs_user *hs_user; struct hs_assignment *assignment; - struct hs_assignment *assgn; struct hs_toplevel *tlfh; struct hs_secondlevel *slfh; char *fakehost; @@ -1034,6 +1034,10 @@ static MODCMD_FUNC(cmd_assign) { reply("HSMSG_ACCESS_DENIED"); return 0; } + if(hs_get_assignment(slfh, hs_user)) { + reply("HSMSG_FAKEHOST_ASSIGNED", slfh_name, tlfh_name); + return 0; + } hs_add_assignment(slfh, hs_user); reply("HSMSG_FAKEHOST_ASSIGN_SUCCESS", slfh_name, tlfh_name); return 1; -- 2.20.1