Esempio n. 1
0
struct t_hashtable *
irc_info_info_hashtable_irc_message_parse_cb (void *data,
                                              const char *info_name,
                                              struct t_hashtable *hashtable)
{
    const char *server, *message;
    struct t_irc_server *ptr_server;
    struct t_hashtable *value;

    /* make C compiler happy */
    (void) data;
    (void) info_name;

    if (!hashtable)
        return NULL;

    server = dogechat_hashtable_get (hashtable, "server");
    ptr_server = (server) ? irc_server_search (server) : NULL;
    message = dogechat_hashtable_get (hashtable, "message");
    if (message)
    {
        value = irc_message_parse_to_hashtable (ptr_server, message);
        return value;
    }

    return NULL;
}
Esempio n. 2
0
struct t_hashtable *
irc_info_get_info_hashtable_cb (void *data, const char *info_name,
                                struct t_hashtable *hashtable)
{
    const char *server, *message;
    struct t_irc_server *ptr_server;
    struct t_hashtable *value;

    /* make C compiler happy */
    (void) data;

    if (!hashtable)
        return NULL;

    if (weechat_strcasecmp (info_name, "irc_message_parse") == 0)
    {
        server = weechat_hashtable_get (hashtable, "server");
        ptr_server = (server) ? irc_server_search (server) : NULL;
        message = weechat_hashtable_get (hashtable, "message");
        if (message)
        {
            value = irc_message_parse_to_hashtable (ptr_server, message);
            return value;
        }
    }
    else if (weechat_strcasecmp (info_name, "irc_message_split") == 0)
    {
        server = weechat_hashtable_get (hashtable, "server");
        ptr_server = (server) ? irc_server_search (server) : NULL;
        message = weechat_hashtable_get (hashtable, "message");
        if (message)
        {
            value = irc_message_split (ptr_server, message);
            return value;
        }
    }

    return NULL;
}