X-Git-Url: https://jfr.im/git/irc/quakenet/newserv.git/blobdiff_plain/660b35f8bab0c201ba2bc72b8dd6c0384eb1e2b8..d1b8e20047cf917eb9d56fdb17c195e5f896099f:/helpmod2/hban.c diff --git a/helpmod2/hban.c b/helpmod2/hban.c index aeda1462..848c2bf5 100644 --- a/helpmod2/hban.c +++ b/helpmod2/hban.c @@ -40,7 +40,7 @@ hban *hban_add(const char* pat, const char* rsn, time_t exp, int now) { /* additional logic here */ huser* tmpu; for (tmpu = husers;tmpu;tmpu = tmpu->next) - if (nickmatchban(tmpu->real_user, tmp) && !IsOper(tmpu->real_user)) + if (nickmatchban(tmpu->real_user, tmp, 0) && !IsOper(tmpu->real_user)) { hchannel *assert_hchan = NULL; while (tmpu->hchannels) @@ -52,7 +52,7 @@ hban *hban_add(const char* pat, const char* rsn, time_t exp, int now) } assert_hchan = tmpu->hchannels->hchan; helpmod_setban(tmpu->hchannels->hchan, bantostring(ptr->real_ban), HELPMOD_BAN_DURATION, MCB_ADD, now); - helpmod_kick(tmpu->hchannels->hchan, tmpu, hban_get_reason(ptr)); + helpmod_kick(tmpu->hchannels->hchan, tmpu, "%s", hban_get_reason(ptr)); } } } @@ -114,7 +114,7 @@ hban *hban_check(nick *nck) { hban *ptr = hbans; for (;ptr;ptr = ptr->next) - if (nickmatchban(nck, ptr->real_ban)) + if (nickmatchban(nck, ptr->real_ban, 0)) return ptr; return NULL; } @@ -170,8 +170,13 @@ const char *hban_ban_string(nick *nck, int banflags) strcat(buffer, nck->authname); strcat(buffer, ".users.quakenet.org"); } - else if ((banflags & HBAN_REAL_HOST) || ((banflags & HBAN_HOST) && !IsAccount(nck))) + else if ((banflags & HBAN_REAL_HOST) || ((banflags & HBAN_HOST))) + { + if (IsSetHost(nck)) + strcat(buffer, nck->sethost->content); + else strcat(buffer, nck->host->name->content); + } else strcat(buffer, "*");