X-Git-Url: https://jfr.im/git/irc/evilnet/x3.git/blobdiff_plain/f21ec816716c246acdc2ed0ae55336b18182f5b7..cbfd323c3191336a3c07c24725019cdaf87f0dd6:/src/chanserv.c diff --git a/src/chanserv.c b/src/chanserv.c index 8a75446..ced5b2c 100644 --- a/src/chanserv.c +++ b/src/chanserv.c @@ -2711,6 +2711,7 @@ static CHANSERV_FUNC(cmd_merge) struct userData *target_user; struct chanNode *target; char reason[MAXLEN]; + int nodelete = 0; REQUIRE_PARAMS(2); @@ -2722,6 +2723,11 @@ static CHANSERV_FUNC(cmd_merge) return 0; } + if (argc > 2) { + if (!irccasecmp("nodelete", argv[2])) + nodelete = 1; + } + if(!target->channel_info) { reply("CSMSG_NOT_REGISTERED", target->name); @@ -2757,7 +2763,8 @@ static CHANSERV_FUNC(cmd_merge) merge_channel(channel->channel_info, target->channel_info); spamserv_cs_move_merge(user, channel, target, 0); sprintf(reason, "merged into %s by %s.", target->name, user->handle_info->handle); - unregister_channel(channel->channel_info, reason); + if (!nodelete) + unregister_channel(channel->channel_info, reason); reply("CSMSG_MERGE_SUCCESS", target->name); return 1; }