|
|
@@ -1146,6 +1146,7 @@ static void cmd_mop(int idx, char *par)
|
|
|
{
|
|
|
struct chanset_t *chan = NULL;
|
|
|
bool found = 0, all = 0;
|
|
|
+ char *chname = NULL;
|
|
|
|
|
|
if (par[0] == '*' && !par[1]) {
|
|
|
get_user_flagrec(dcc[idx].user, &user, NULL);
|
|
|
@@ -1158,21 +1159,20 @@ static void cmd_mop(int idx, char *par)
|
|
|
newsplit(&par);
|
|
|
} else {
|
|
|
if (par[0] && (strchr(CHANMETA, par[0]) != NULL)) {
|
|
|
- chan = get_channel(idx, newsplit(&par), 0);
|
|
|
+ chname = newsplit(&par);
|
|
|
+ chan = get_channel(idx, chname, 0);
|
|
|
} else
|
|
|
chan = get_channel(idx, "", 0);
|
|
|
}
|
|
|
|
|
|
- if (!chan)
|
|
|
+ if (!chan && !all && !chname) {
|
|
|
+ dprintf(idx, "Usage: mop <channel|*>\n");
|
|
|
+ return;
|
|
|
+ } else if (!chan)
|
|
|
return;
|
|
|
|
|
|
putlog(LOG_CMDS, "*", "#%s# (%s) mop %s", dcc[idx].nick, all ? "*" : chan->dname, par);
|
|
|
|
|
|
- if (!all) {
|
|
|
- dprintf(idx, "Usage: mop <channel|*>\n");
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
memberlist *m = NULL;
|
|
|
char s[256] = "";
|
|
|
|