diff options
| author | Wilmer van der Gaast <wilmer@gaast.net> | 2006-01-15 16:42:20 +0100 | 
|---|---|---|
| committer | Wilmer van der Gaast <wilmer@gaast.net> | 2006-01-15 16:42:20 +0100 | 
| commit | 74c119dd1b066329eba59d057935ba7ec7249555 (patch) | |
| tree | c46aa45053fab63b071559bd5780473056a953e1 /irc.c | |
| parent | 13caf0aa5d1e5575b74221e0cd9e4ff9f4cd79a8 (diff) | |
Better DIE implementation, added SO_REUSEADDR to listening socket.
Diffstat (limited to 'irc.c')
| -rw-r--r-- | irc.c | 31 | 
1 files changed, 31 insertions, 0 deletions
| @@ -433,6 +433,37 @@ char **irc_parse_line( char *line )  	return cmd;  } +char *irc_build_line( char **cmd ) +{ +	int i, len; +	char *s; +	 +	if( cmd[0] == NULL ) +		return NULL; +	 +	len = 1; +	for( i = 0; cmd[i]; i ++ ) +		len += strlen( cmd[i] ) + 1; +	 +	if( strchr( cmd[i-1], ' ' ) != NULL ) +		len ++; +	 +	s = g_new0( char, len + 1 ); +	for( i = 0; cmd[i]; i ++ ) +	{ +		if( cmd[i+1] == NULL && strchr( cmd[i], ' ' ) != NULL ) +			strcat( s, ":" ); +		 +		strcat( s, cmd[i] ); +		 +		if( cmd[i+1] ) +			strcat( s, " " ); +	} +	strcat( s, "\r\n" ); +	 +	return s; +} +  void irc_reply( irc_t *irc, int code, char *format, ... )  {  	char text[IRC_MAX_LINE]; | 
