aboutsummaryrefslogtreecommitdiffstats
path: root/ipc.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2006-01-19 18:07:47 +0100
committerWilmer van der Gaast <wilmer@gaast.net>2006-01-19 18:07:47 +0100
commitbd9b00f4fed3560eab98f15cf9923aed13467d5d (patch)
treecad1a8227670a97c68463006c15d43539824f18f /ipc.c
parent2face6292c693afb45e5e04f87ba080931eb16c3 (diff)
Fixes for single-process daemon mode, changed value of USTATUS_SHUTDOWN. If
this still causes problems, shutting down should be an extra flag instead of a status code.
Diffstat (limited to 'ipc.c')
-rw-r--r--ipc.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/ipc.c b/ipc.c
index 5fda047c..4777113a 100644
--- a/ipc.c
+++ b/ipc.c
@@ -35,12 +35,15 @@ static int ipc_master_cmd_client( irc_t *data, char **cmd )
{
struct bitlbee_child *child = (void*) data;
- child->host = g_strdup( cmd[1] );
- child->nick = g_strdup( cmd[2] );
- child->realname = g_strdup( cmd[3] );
+ if( child )
+ {
+ child->host = g_strdup( cmd[1] );
+ child->nick = g_strdup( cmd[2] );
+ child->realname = g_strdup( cmd[3] );
+ }
ipc_to_children_str( "OPERMSG :Client connecting (PID=%d): %s@%s (%s)\r\n",
- child->pid, child->nick, child->host, child->realname );
+ child ? child->pid : -1, cmd[2], cmd[1], cmd[3] );
return 1;
}
@@ -307,7 +310,10 @@ void ipc_to_master_str( char *format, ... )
}
else if( global.conf->runmode == RUNMODE_DAEMON )
{
- char **cmd;
+ char **cmd, *s;
+
+ if( ( s = strchr( msg_buf, '\r' ) ) )
+ *s = 0;
cmd = irc_parse_line( msg_buf );
ipc_command_exec( NULL, cmd, ipc_master_commands );
@@ -360,7 +366,10 @@ void ipc_to_children_str( char *format, ... )
}
else if( global.conf->runmode == RUNMODE_DAEMON )
{
- char **cmd;
+ char **cmd, *s;
+
+ if( ( s = strchr( msg_buf, '\r' ) ) )
+ *s = 0;
cmd = irc_parse_line( msg_buf );
ipc_to_children( cmd );