projects
/
srvx.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Initial oplevel support.
[srvx.git]
/
src
/
proto-common.c
diff --git
a/src/proto-common.c
b/src/proto-common.c
index b5e5118a02e246706df003fbfdc5f21fb122dd52..b7b9bc22d09665618ba8f479a5aa4b38e1d4c3cf 100644
(file)
--- a/
src/proto-common.c
+++ b/
src/proto-common.c
@@
-543,6
+543,8
@@
mod_chanmode_dup(struct mod_chanmode *orig, unsigned int extra)
res->modes_clear = orig->modes_clear;
res->new_limit = orig->new_limit;
memcpy(res->new_key, orig->new_key, sizeof(res->new_key));
res->modes_clear = orig->modes_clear;
res->new_limit = orig->new_limit;
memcpy(res->new_key, orig->new_key, sizeof(res->new_key));
+ memcpy(res->new_upass, orig->new_upass, sizeof(res->new_upass));
+ memcpy(res->new_apass, orig->new_apass, sizeof(res->new_apass));
res->argc = orig->argc;
memcpy(res->args, orig->args, orig->argc*sizeof(orig->args[0]));
}
res->argc = orig->argc;
memcpy(res->args, orig->args, orig->argc*sizeof(orig->args[0]));
}
@@
-561,6
+563,10
@@
mod_chanmode_apply(struct userNode *who, struct chanNode *channel, struct mod_ch
channel->limit = change->new_limit;
if (change->modes_set & MODE_KEY)
strcpy(channel->key, change->new_key);
channel->limit = change->new_limit;
if (change->modes_set & MODE_KEY)
strcpy(channel->key, change->new_key);
+ if (change->modes_set & MODE_UPASS)
+ strcpy(channel->upass, change->new_upass);
+ if (change->modes_set & MODE_APASS)
+ strcpy(channel->apass, change->new_apass);
for (ii = 0; ii < change->argc; ++ii) {
switch (change->args[ii].mode) {
case MODE_BAN:
for (ii = 0; ii < change->argc; ++ii) {
switch (change->args[ii].mode) {
case MODE_BAN:
@@
-648,6
+654,8
@@
irc_make_chanmode(struct chanNode *chan, char *out)
change.modes_set = chan->modes;
change.new_limit = chan->limit;
safestrncpy(change.new_key, chan->key, sizeof(change.new_key));
change.modes_set = chan->modes;
change.new_limit = chan->limit;
safestrncpy(change.new_key, chan->key, sizeof(change.new_key));
+ safestrncpy(change.new_upass, chan->upass, sizeof(change.new_upass));
+ safestrncpy(change.new_apass, chan->apass, sizeof(change.new_apass));
return strlen(mod_chanmode_format(&change, out));
}
return strlen(mod_chanmode_format(&change, out));
}