From: pk910 Date: Fri, 4 Jan 2013 20:11:23 +0000 (+0100) Subject: fixed some compiler warnings and prevent duplicate assignments X-Git-Url: http://git.pk910.de/?p=srvx.git;a=commitdiff_plain;h=c63edd448a0ab7d83ddb5724cb9c141009be5a45 fixed some compiler warnings and prevent duplicate assignments --- 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;