All pastes #101304 Raw Edit

spoof

public c v1 · immutable
#101304 ·published 2006-07-26 19:49 UTC
rendered paste body
void irc_send_cmd_full(IRC_SERVER_REC *server, const char *cmd,		       int send_now, int immediate, int raw){	char str[513];	int len;	g_return_if_fail(server != NULL);	g_return_if_fail(cmd != NULL);	if (server->connection_lost)		return;	len = strlen(cmd);	server->cmdcount++;	if (!raw) {		/* check that we don't send any longer commands		   than 510 bytes (2 bytes for CR+LF) */		strncpy(str, cmd, 510);		if (len > 510) len = 510;		str[len] = '\0';                cmd = str;	}	if (send_now) {		rawlog_output(server->rawlog, cmd);		server_redirect_command(server, cmd, server->redirect_next);                server->redirect_next = NULL;	}	if (!raw) {                /* Add CR+LF to command */		str[len++] = 13;		str[len++] = 10;		str[len] = '\0';	}	if (send_now) {                irc_server_send_data(server, cmd, len);		return;	}	/* add to queue */	if (immediate) {		server->cmdqueue = g_slist_prepend(server->cmdqueue,						   server->redirect_next);		server->cmdqueue = g_slist_prepend(server->cmdqueue,						   g_strdup(cmd));	} else {		server->cmdqueue = g_slist_append(server->cmdqueue,						  g_strdup(cmd));		server->cmdqueue = g_slist_append(server->cmdqueue,						  server->redirect_next);	}        server->redirect_next = NULL;}