int local_fifo_len = 7;
static char 	path[] = IPC_PATH_ATTR;  int local_fifo_len = 2;
init_client_ipc_comms(const char *child,		      gboolean (*dispatch)(IPC_Channel* source_data					   ,gpointer    user_data)){    FNIN();    struct IPC_CHANNEL *ch;    GHashTable * attrs;    int local_fifo_len = 7; // 7 = '/' + ".fifo" + '\0'    local_fifo_len += strlen(child);    local_fifo_len += strlen(WORKING_DIR);    static char 	path[] = IPC_PATH_ATTR;    char    commpath[local_fifo_len];    sprintf(commpath, WORKING_DIR "/%s.fifo", child);    commpath[local_fifo_len - 1] = '\0';        cl_log(LOG_DEBUG, "Attempting to talk on: %s", commpath);    attrs = g_hash_table_new(g_str_hash,g_str_equal);    g_hash_table_insert(attrs, path, commpath);//    ch = ipc_channel_constructor(IPC_DOMAIN_SOCKET, attrs);    ch = ipc_channel_constructor(IPC_ANYTYPE, attrs);    g_hash_table_destroy(attrs);    if (ch == NULL)    {	cl_log(LOG_CRIT, "Could not access channel on: %s", commpath);    }    else if(ch->ops->initiate_connection(ch) != IPC_OK)    {	cl_log(LOG_CRIT, "Could not init comms on: %s", commpath);	FNRET(NULL);    }    G_main_add_IPC_Channel(G_PRIORITY_LOW,			   ch,			   FALSE, 			   dispatch,			   ch, 			   default_ipc_input_destroy);        // do some error reporting    FNRET(ch);}