if (blank_client == NULL) { cl_log(LOG_ERR, "Could not allocate memory for a blank crmd_client_t"); FNRET(FALSE);
if (blank_client == NULL) { cl_log(LOG_ERR, "Could not allocate memory for a blank crmd_client_t"); FNRET(FALSE); }  blank_client->client_channel = client_channel; blank_client->sub_sys = NULL; blank_client->uid = NULL; blank_client->table_key = NULL;  CRM_DEBUG("Adding IPC Channel to main thread."); blank_client->client_source = G_main_add_IPC_Channel(G_PRIORITY_LOW, client_channel, FALSE, crmd_ipc_input_callback, blank_client, default_ipc_input_destroy);
crmd_client_connect(IPC_Channel *client_channel, gpointer user_data){    FNIN();    // assign the client to be something, or put in a hashtable    CRM_DEBUG("A client tried to connect... and there was much rejoicing.");    if (client_channel == NULL)    {	cl_log(LOG_ERR, "Channel was NULL");    }    else if (client_channel->ch_status == IPC_DISCONNECT)    {	cl_log(LOG_ERR, "Channel was disconnected");    }    else    {	crmd_client_t *blank_client = (crmd_client_t *)ha_malloc(sizeof(crmd_client_t));		if (blank_client == NULL)	{	    cl_log(LOG_ERR, "Could not allocate memory for a blank crmd_client_t");	    FNRET(FALSE);	}		CRM_DEBUG3("Client is %s %p", client_channel == NULL?"NULL":"valid", client_channel);	CRM_DEBUG3("Client status %d (disconnect=%d)", client_channel->ch_status, IPC_DISCONNECT);			blank_client->client_channel = client_channel;	blank_client->sub_sys = NULL;	blank_client->uid = NULL;	blank_client->table_key = NULL;		CRM_DEBUG("Adding IPC Channel to main thread.");	blank_client->client_source = G_main_add_IPC_Channel(G_PRIORITY_LOW,							     client_channel,							     FALSE, 							     crmd_ipc_input_callback,							     blank_client,  // user data to be passed to crmd_ipc_input_dispatch							     default_ipc_input_destroy);    }        FNRET(TRUE);}