diff options
| -rw-r--r-- | degesch.c | 46 | 
1 files changed, 20 insertions, 26 deletions
| @@ -5117,21 +5117,18 @@ handle_command_join (struct app_context *ctx, char *arguments)  		// TODO: check if the arguments are in the form of  		//   "channel(,channel)* key(,key)*"  		irc_send (s, "JOIN %s", arguments); +	else if (ctx->current_buffer->type != BUFFER_CHANNEL) +		buffer_send_error (ctx, ctx->current_buffer, +			"%s: %s", "Can't join", +			"no argument given and this buffer is not a channel"); +	// TODO: have a better way of checking if we're on the channel +	else if (ctx->current_buffer->channel->users) +		buffer_send_error (ctx, ctx->current_buffer, +			"%s: %s", "Can't join", +			"you already are on the channel");  	else -	{ -		if (ctx->current_buffer->type != BUFFER_CHANNEL) -			buffer_send_error (ctx, ctx->current_buffer, -				"%s: %s", "Can't join", -				"no argument given and this buffer is not a channel"); -		// TODO: have a better way of checking if we're on the channel -		else if (ctx->current_buffer->channel->users) -			buffer_send_error (ctx, ctx->current_buffer, -				"%s: %s", "Can't join", -				"you already are on the channel"); -		else -			// TODO: send the key if known -			irc_send (s, "JOIN %s", ctx->current_buffer->channel->name); -	} +		// TODO: send the key if known +		irc_send (s, "JOIN %s", ctx->current_buffer->channel->name);  	return true;  } @@ -5146,19 +5143,16 @@ handle_command_part (struct app_context *ctx, char *arguments)  		// TODO: check if the arguments are in the form of "channel(,channel)*"  		// TODO: make sure to send the reason as one argument  		irc_send (s, "PART %s", arguments); +	else if (ctx->current_buffer->type != BUFFER_CHANNEL) +		buffer_send_error (ctx, ctx->current_buffer, +			"%s: %s", "Can't part", +			"no argument given and this buffer is not a channel"); +	// TODO: have a better way of checking if we're on the channel +	else if (!ctx->current_buffer->channel->users) +		buffer_send_error (ctx, ctx->current_buffer, +			"%s: %s", "Can't join", "you're not on the channel");  	else -	{ -		if (ctx->current_buffer->type != BUFFER_CHANNEL) -			buffer_send_error (ctx, ctx->current_buffer, -				"%s: %s", "Can't part", -				"no argument given and this buffer is not a channel"); -		// TODO: have a better way of checking if we're on the channel -		else if (!ctx->current_buffer->channel->users) -			buffer_send_error (ctx, ctx->current_buffer, -				"%s: %s", "Can't join", "you're not on the channel"); -		else -			irc_send (s, "PART %s", ctx->current_buffer->channel->name); -	} +		irc_send (s, "PART %s", ctx->current_buffer->channel->name);  	return true;  } | 
