chanservstdmessage(sender, QM_UNKNOWNCHAN, cargv[0]);
return CMD_ERROR;
}
+
+ if (!cip->channel) {
+ chanservstdmessage(sender, QM_EMPTYCHAN, cip->name->content);
+ return CMD_ERROR;
+ }
if (CIsJoined(rcp) && !CIsSuspended(rcp)) {
CSetSuspended(rcp);
chanservjoinchan(cip->channel);
CClearSuspended(rcp);
- chanservjoinchan(cip->channel);
+ /* Parting the channel may have destroyed it. In that case, don't bother rejoining. */
+ if (cip->channel)
+ chanservjoinchan(cip->channel);
}
chanservstdmessage(sender, QM_DONE);