Changeset 68b518d6


Ignore:
Timestamp:
2006-05-26T09:03:38Z (13 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
cdca30b
Parents:
41ca004 (diff), c53911e (diff), 7bfd574 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merging from main development tree.

Files:
16 edited

Legend:

Unmodified
Added
Removed
  • configure

    r41ca004 r68b518d6  
    169169fi
    170170
     171GLIB=0
     172
    171173if $PKG_CONFIG --version > /dev/null 2>/dev/null && $PKG_CONFIG glib-2.0; then
    172174        cat<<EOF>>Makefile.settings
     
    175177EOF
    176178        echo '#define GLIB2' >> config.h
     179        GLIB=2
    177180elif type glib-config > /dev/null 2> /dev/null; then
    178181        cat<<EOF>>Makefile.settings
     
    181184EOF
    182185        echo '#define GLIB1' >> config.h
     186        GLIB=1
    183187else
    184188        echo 'Cannot find glib development libraries, aborting. (Install libglib-dev?)'
     
    186190fi
    187191
    188 if [ -r /usr/include/iconv.h ]; then
     192if [ GLIB = 1 -o -r /usr/include/iconv.h ]; then
    189193        :;
    190194elif [ -r /usr/local/include/iconv.h ]; then
  • ipc.h

    r41ca004 r68b518d6  
    4747
    4848void ipc_to_master( char **cmd );
    49 void ipc_to_master_str( char *format, ... );
     49void ipc_to_master_str( char *format, ... ) G_GNUC_PRINTF( 1, 2 );
    5050void ipc_to_children( char **cmd );
    51 void ipc_to_children_str( char *format, ... );
     51void ipc_to_children_str( char *format, ... ) G_GNUC_PRINTF( 1, 2 );
    5252
    5353/* We need this function in inetd mode, so let's just make it non-static. */
  • irc.c

    r41ca004 r68b518d6  
    832832                        irc_reply( irc, 332, "%s :BitlBee groupchat: \"%s\". Please keep in mind that root-commands won't work here. Have fun!", channel, c->title );
    833833                else
    834                         irc_reply( irc, 331, "%s :No topic for this channel" );
     834                        irc_reply( irc, 331, "%s :No topic for this channel", channel );
    835835        }
    836836}
     
    888888        if( g_hash_table_lookup( irc->watches, nick ) )
    889889        {
    890                 irc_reply( irc, 600, "%s %s %s %d :%s", u->nick, u->user, u->host, time( NULL ), "logged online" );
     890                irc_reply( irc, 600, "%s %s %s %d :%s", u->nick, u->user, u->host, (int) time( NULL ), "logged online" );
    891891        }
    892892        g_free( nick );
     
    913913        if( g_hash_table_lookup( irc->watches, nick ) )
    914914        {
    915                 irc_reply( irc, 601, "%s %s %s %d :%s", u->nick, u->user, u->host, time( NULL ), "logged offline" );
     915                irc_reply( irc, 601, "%s %s %s %d :%s", u->nick, u->user, u->host, (int) time( NULL ), "logged offline" );
    916916        }
    917917        g_free( nick );
     
    10131013        else if( c && c->gc && c->gc->prpl )
    10141014        {
    1015                 return( serv_send_chat( irc, c->gc, c->id, s ) );
     1015                return( bim_chat_msg( c->gc, c->id, s ) );
    10161016        }
    10171017       
     
    10231023        user_t *u = data;
    10241024       
     1025        /* Shouldn't happen, but just to be sure. */
     1026        if( u->sendbuf_len < 2 )
     1027                return FALSE;
     1028       
    10251029        u->sendbuf[u->sendbuf_len-2] = 0; /* Cut off the last newline */
    1026         serv_send_im( u->gc->irc, u, u->sendbuf, u->sendbuf_flags );
     1030        bim_buddy_msg( u->gc, u->handle, u->sendbuf, u->sendbuf_flags );
    10271031       
    10281032        g_free( u->sendbuf );
     
    10451049                if( u->sendbuf_len > 0 && u->sendbuf_flags != flags)
    10461050                {
    1047                         //Flush the buffer
     1051                        /* Flush the buffer */
    10481052                        b_event_remove( u->sendbuf_timer );
    10491053                        buddy_send_handler_delayed( u, -1, 0 );
     
    10531057                {
    10541058                        u->sendbuf_len = strlen( msg ) + 2;
    1055                         u->sendbuf = g_new (char, u->sendbuf_len );
     1059                        u->sendbuf = g_new( char, u->sendbuf_len );
    10561060                        u->sendbuf[0] = 0;
    10571061                        u->sendbuf_flags = flags;
     
    10601064                {
    10611065                        u->sendbuf_len += strlen( msg ) + 1;
    1062                         u->sendbuf = g_renew ( char, u->sendbuf, u->sendbuf_len );
     1066                        u->sendbuf = g_renew( char, u->sendbuf, u->sendbuf_len );
    10631067                }
    10641068               
     
    10761080        else
    10771081        {
    1078                 serv_send_im( irc, u, msg, flags );
     1082                bim_buddy_msg( u->gc, u->handle, msg, flags );
    10791083        }
    10801084}
  • irc.h

    r41ca004 r68b518d6  
    103103
    104104irc_t *irc_new( int fd );
    105 void irc_abort( irc_t *irc, int immed, char *format, ... );
     105void irc_abort( irc_t *irc, int immed, char *format, ... ) G_GNUC_PRINTF( 3, 4 );
    106106void irc_free( irc_t *irc );
    107107
     
    112112
    113113void irc_vawrite( irc_t *irc, char *format, va_list params );
    114 void irc_write( irc_t *irc, char *format, ... );
    115 void irc_write_all( int now, char *format, ... );
    116 void irc_reply( irc_t *irc, int code, char *format, ... );
    117 G_MODULE_EXPORT int irc_usermsg( irc_t *irc, char *format, ... );
     114void irc_write( irc_t *irc, char *format, ... ) G_GNUC_PRINTF( 2, 3 );
     115void irc_write_all( int now, char *format, ... ) G_GNUC_PRINTF( 2, 3 );
     116void irc_reply( irc_t *irc, int code, char *format, ... ) G_GNUC_PRINTF( 3, 4 );
     117G_MODULE_EXPORT int irc_usermsg( irc_t *irc, char *format, ... ) G_GNUC_PRINTF( 2, 3 );
    118118char **irc_tokenize( char *buffer );
    119119
  • irc_commands.c

    r41ca004 r68b518d6  
    385385                       
    386386                        if( u && u->online )
    387                                 irc_reply( irc, 604, "%s %s %s %d :%s", u->nick, u->user, u->host, time( NULL ), "is online" );
     387                                irc_reply( irc, 604, "%s %s %s %d :%s", u->nick, u->user, u->host, (int) time( NULL ), "is online" );
    388388                        else
    389                                 irc_reply( irc, 605, "%s %s %s %d :%s", nick, "*", "*", time( NULL ), "is offline" );
     389                                irc_reply( irc, 605, "%s %s %s %d :%s", nick, "*", "*", (int) time( NULL ), "is offline" );
    390390                }
    391391                else if( cmd[i][0] == '-' )
     
    448448               
    449449                if( gc && gc->flags & OPT_LOGGED_IN )
    450                         proto_away( gc, u->away );
     450                        bim_set_away( gc, u->away );
    451451        }
    452452}
  • log.h

    r41ca004 r68b518d6  
    5454void log_init(void);
    5555void log_link(int level, int output);
    56 void log_message(int level, char *message, ...);
     56void log_message(int level, char *message, ...) G_GNUC_PRINTF( 2, 3 );
    5757void log_error(char *functionname);
    5858
  • protocols/http_client.c

    r41ca004 r68b518d6  
    240240
    241241got_reply:
     242        /* Maybe if the webserver is overloaded, or when there's bad SSL
     243           support... */
     244        if( req->bytes_read == 0 )
     245                goto cleanup;
     246       
    242247        /* Zero termination is very convenient. */
    243248        req->reply_headers[req->bytes_read] = 0;
  • protocols/nogaim.c

    r41ca004 r68b518d6  
    3636#include <ctype.h>
    3737
    38 static char *proto_away_alias[8][5] =
    39 {
    40         { "Away from computer", "Away", "Extended away", NULL },
    41         { "NA", "N/A", "Not available", NULL },
    42         { "Busy", "Do not disturb", "DND", "Occupied", NULL },
    43         { "Be right back", "BRB", NULL },
    44         { "On the phone", "Phone", "On phone", NULL },
    45         { "Out to lunch", "Lunch", "Food", NULL },
    46         { "Invisible", "Hidden" },
    47         { NULL }
    48 };
    49 static char *proto_away_alias_find( GList *gcm, char *away );
    50 
    5138static int remove_chat_buddy_silent( struct conversation *b, char *handle );
    5239
     
    156143GSList *get_connections() { return connections; }
    157144
    158 int proto_away( struct gaim_connection *gc, char *away )
    159 {
    160         GList *m, *ms;
    161         char *s;
    162        
    163         if( !away ) away = "";
    164         ms = m = gc->prpl->away_states( gc );
    165        
    166         while( m )
    167         {
    168                 if( *away )
    169                 {
    170                         if( g_strncasecmp( m->data, away, strlen( m->data ) ) == 0 )
    171                                 break;
    172                 }
    173                 else
    174                 {
    175                         if( g_strcasecmp( m->data, "Available" ) == 0 )
    176                                 break;
    177                         if( g_strcasecmp( m->data, "Online" ) == 0 )
    178                                 break;
    179                 }
    180                 m = m->next;
    181         }
    182        
    183         if( m )
    184         {
    185                 gc->prpl->set_away( gc, m->data, *away ? away : NULL );
    186         }
    187         else
    188         {
    189                 s = proto_away_alias_find( ms, away );
    190                 if( s )
    191                 {
    192                         gc->prpl->set_away( gc, s, away );
    193                         if( set_getint( gc->irc, "debug" ) )
    194                                 serv_got_crap( gc, "Setting away state to %s", s );
    195                 }
    196                 else
    197                         gc->prpl->set_away( gc, GAIM_AWAY_CUSTOM, away );
    198         }
    199        
    200         g_list_free( ms );
    201        
    202         return( 1 );
    203 }
    204 
    205 static char *proto_away_alias_find( GList *gcm, char *away )
    206 {
    207         GList *m;
    208         int i, j;
    209        
    210         for( i = 0; *proto_away_alias[i]; i ++ )
    211         {
    212                 for( j = 0; proto_away_alias[i][j]; j ++ )
    213                         if( g_strncasecmp( away, proto_away_alias[i][j], strlen( proto_away_alias[i][j] ) ) == 0 )
    214                                 break;
    215                
    216                 if( !proto_away_alias[i][j] )   /* If we reach the end, this row */
    217                         continue;               /* is not what we want. Next!    */
    218                
    219                 /* Now find an entry in this row which exists in gcm */
    220                 for( j = 0; proto_away_alias[i][j]; j ++ )
    221                 {
    222                         m = gcm;
    223                         while( m )
    224                         {
    225                                 if( g_strcasecmp( proto_away_alias[i][j], m->data ) == 0 )
    226                                         return( proto_away_alias[i][j] );
    227                                 m = m->next;
    228                         }
    229                 }
    230         }
    231        
    232         return( NULL );
    233 }
    234 
    235145/* multi.c */
    236146
     
    357267        /* Also necessary when we're not away, at least for some of the
    358268           protocols. */
    359         proto_away( gc, u->away );
     269        bim_set_away( gc, u->away );
    360270}
    361271
     
    481391        else if( gc->user->proto_opt[0] && *gc->user->proto_opt[0] )
    482392        {
    483                 u->host = g_strdup( gc->user->proto_opt[0] );
     393                char *colon;
     394               
     395                if( ( colon = strchr( gc->user->proto_opt[0], ':' ) ) )
     396                        u->host = g_strndup( gc->user->proto_opt[0],
     397                                             colon - gc->user->proto_opt[0] );
     398                else
     399                        u->host = g_strdup( gc->user->proto_opt[0] );
     400               
    484401                u->user = g_strdup( handle );
    485402               
     
    1022939}
    1023940
    1024 int serv_send_im( irc_t *irc, user_t *u, char *msg, int flags )
     941
     942
     943
     944/* The plan is to not allow straight calls to prpl functions anymore, but do
     945   them all from some wrappers. We'll start to define some down here: */
     946
     947int bim_buddy_msg( struct gaim_connection *gc, char *handle, char *msg, int flags )
    1025948{
    1026949        char *buf = NULL;
    1027950        int st;
    1028951       
    1029         if( ( u->gc->flags & OPT_CONN_HTML ) && ( g_strncasecmp( msg, "<html>", 6 ) != 0 ) )
     952        if( ( gc->flags & OPT_CONN_HTML ) && ( g_strncasecmp( msg, "<html>", 6 ) != 0 ) )
    1030953        {
    1031954                buf = escape_html( msg );
     
    1033956        }
    1034957       
    1035         st = ((struct gaim_connection *)u->gc)->prpl->send_im( u->gc, u->handle, msg, strlen( msg ), flags );
     958        st = gc->prpl->send_im( gc, handle, msg, strlen( msg ), flags );
    1036959        g_free( buf );
    1037960       
     
    1039962}
    1040963
    1041 int serv_send_chat( irc_t *irc, struct gaim_connection *gc, int id, char *msg )
     964int bim_chat_msg( struct gaim_connection *gc, int id, char *msg )
    1042965{
    1043966        char *buf = NULL;
     
    1055978        return st;
    1056979}
     980
     981static char *bim_away_alias_find( GList *gcm, char *away );
     982
     983int bim_set_away( struct gaim_connection *gc, char *away )
     984{
     985        GList *m, *ms;
     986        char *s;
     987       
     988        if( !away ) away = "";
     989        ms = m = gc->prpl->away_states( gc );
     990       
     991        while( m )
     992        {
     993                if( *away )
     994                {
     995                        if( g_strncasecmp( m->data, away, strlen( m->data ) ) == 0 )
     996                                break;
     997                }
     998                else
     999                {
     1000                        if( g_strcasecmp( m->data, "Available" ) == 0 )
     1001                                break;
     1002                        if( g_strcasecmp( m->data, "Online" ) == 0 )
     1003                                break;
     1004                }
     1005                m = m->next;
     1006        }
     1007       
     1008        if( m )
     1009        {
     1010                gc->prpl->set_away( gc, m->data, *away ? away : NULL );
     1011        }
     1012        else
     1013        {
     1014                s = bim_away_alias_find( ms, away );
     1015                if( s )
     1016                {
     1017                        gc->prpl->set_away( gc, s, away );
     1018                        if( set_getint( gc->irc, "debug" ) )
     1019                                serv_got_crap( gc, "Setting away state to %s", s );
     1020                }
     1021                else
     1022                        gc->prpl->set_away( gc, GAIM_AWAY_CUSTOM, away );
     1023        }
     1024       
     1025        g_list_free( ms );
     1026       
     1027        return( 1 );
     1028}
     1029
     1030static char *bim_away_alias_list[8][5] =
     1031{
     1032        { "Away from computer", "Away", "Extended away", NULL },
     1033        { "NA", "N/A", "Not available", NULL },
     1034        { "Busy", "Do not disturb", "DND", "Occupied", NULL },
     1035        { "Be right back", "BRB", NULL },
     1036        { "On the phone", "Phone", "On phone", NULL },
     1037        { "Out to lunch", "Lunch", "Food", NULL },
     1038        { "Invisible", "Hidden" },
     1039        { NULL }
     1040};
     1041
     1042static char *bim_away_alias_find( GList *gcm, char *away )
     1043{
     1044        GList *m;
     1045        int i, j;
     1046       
     1047        for( i = 0; *bim_away_alias_list[i]; i ++ )
     1048        {
     1049                for( j = 0; bim_away_alias_list[i][j]; j ++ )
     1050                        if( g_strncasecmp( away, bim_away_alias_list[i][j], strlen( bim_away_alias_list[i][j] ) ) == 0 )
     1051                                break;
     1052               
     1053                if( !bim_away_alias_list[i][j] )        /* If we reach the end, this row */
     1054                        continue;                       /* is not what we want. Next!    */
     1055               
     1056                /* Now find an entry in this row which exists in gcm */
     1057                for( j = 0; bim_away_alias_list[i][j]; j ++ )
     1058                {
     1059                        m = gcm;
     1060                        while( m )
     1061                        {
     1062                                if( g_strcasecmp( bim_away_alias_list[i][j], m->data ) == 0 )
     1063                                        return( bim_away_alias_list[i][j] );
     1064                                m = m->next;
     1065                        }
     1066                }
     1067        }
     1068       
     1069        return( NULL );
     1070}
     1071
     1072void bim_add_allow( struct gaim_connection *gc, char *handle )
     1073{
     1074        if( g_slist_find_custom( gc->permit, handle, (GCompareFunc) gc->prpl->cmp_buddynames ) == NULL )
     1075        {
     1076                gc->permit = g_slist_prepend( gc->permit, g_strdup( handle ) );
     1077        }
     1078       
     1079        gc->prpl->add_permit( gc, handle );
     1080}
     1081
     1082void bim_rem_allow( struct gaim_connection *gc, char *handle )
     1083{
     1084        GSList *l;
     1085       
     1086        if( ( l = g_slist_find_custom( gc->permit, handle, (GCompareFunc) gc->prpl->cmp_buddynames ) ) )
     1087        {
     1088                g_free( l->data );
     1089                gc->permit = g_slist_delete_link( gc->permit, l );
     1090        }
     1091       
     1092        gc->prpl->rem_permit( gc, handle );
     1093}
     1094
     1095void bim_add_block( struct gaim_connection *gc, char *handle )
     1096{
     1097        if( g_slist_find_custom( gc->deny, handle, (GCompareFunc) gc->prpl->cmp_buddynames ) == NULL )
     1098        {
     1099                gc->deny = g_slist_prepend( gc->deny, g_strdup( handle ) );
     1100        }
     1101       
     1102        gc->prpl->add_deny( gc, handle );
     1103}
     1104
     1105void bim_rem_block( struct gaim_connection *gc, char *handle )
     1106{
     1107        GSList *l;
     1108       
     1109        if( ( l = g_slist_find_custom( gc->deny, handle, (GCompareFunc) gc->prpl->cmp_buddynames ) ) )
     1110        {
     1111                g_free( l->data );
     1112                gc->deny = g_slist_delete_link( gc->deny, l );
     1113        }
     1114       
     1115        gc->prpl->rem_deny( gc, handle );
     1116}
  • protocols/nogaim.h

    r41ca004 r68b518d6  
    5252#define BUDDY_ALIAS_MAXLEN 388   /* because MSN names can be 387 characters */
    5353
    54 #define WEBSITE "http://www.bitlee.org/"
     54#define WEBSITE "http://www.bitlbee.org/"
    5555#define IM_FLAG_AWAY 0x0020
    5656#define OPT_CONN_HTML 0x00000001
     
    194194
    195195/* nogaim.c */
    196 int serv_send_im(irc_t *irc, user_t *u, char *msg, int flags);
    197 int serv_send_chat(irc_t *irc, struct gaim_connection *gc, int id, char *msg );
     196int bim_set_away( struct gaim_connection *gc, char *away );
     197int bim_buddy_msg( struct gaim_connection *gc, char *handle, char *msg, int flags );
     198int bim_chat_msg( struct gaim_connection *gc, int id, char *msg );
     199
     200void bim_add_allow( struct gaim_connection *gc, char *handle );
     201void bim_rem_allow( struct gaim_connection *gc, char *handle );
     202void bim_add_block( struct gaim_connection *gc, char *handle );
     203void bim_rem_block( struct gaim_connection *gc, char *handle );
    198204
    199205void nogaim_init();
    200 int proto_away( struct gaim_connection *gc, char *away );
    201206char *set_eval_away_devoice( irc_t *irc, set_t *set, char *value );
    202207
     
    210215G_MODULE_EXPORT void hide_login_progress( struct gaim_connection *gc, char *msg );
    211216G_MODULE_EXPORT void hide_login_progress_error( struct gaim_connection *gc, char *msg );
    212 G_MODULE_EXPORT void serv_got_crap( struct gaim_connection *gc, char *format, ... );
     217G_MODULE_EXPORT void serv_got_crap( struct gaim_connection *gc, char *format, ... ) G_GNUC_PRINTF( 2, 3 );
    213218G_MODULE_EXPORT void account_online( struct gaim_connection *gc );
    214219G_MODULE_EXPORT void signoff( struct gaim_connection *gc );
  • protocols/oscar/aim.h

    r41ca004 r68b518d6  
    728728};
    729729
    730 #define AIM_CHATFLAGS_NOREFLECT 0x0001
    731 #define AIM_CHATFLAGS_AWAY      0x0002
     730#define AIM_CHATFLAGS_NOREFLECT         0x0001
     731#define AIM_CHATFLAGS_AWAY              0x0002
     732#define AIM_CHATFLAGS_UNICODE           0x0004
     733#define AIM_CHATFLAGS_ISO_8859_1        0x0008
     734
    732735int aim_chat_send_im(aim_session_t *sess, aim_conn_t *conn, guint16 flags, const char *msg, int msglen);
    733736int aim_chat_join(aim_session_t *sess, aim_conn_t *conn, guint16 exchange, const char *roomname, guint16 instance);
  • protocols/oscar/chat.c

    r41ca004 r68b518d6  
    159159        if (flags & AIM_CHATFLAGS_AWAY)
    160160                aim_addtlvtochain_noval(&otl, 0x0007);
    161 
     161       
     162        /* [WvG] This wasn't there originally, but we really should send
     163                 the right charset flags, as we also do with normal
     164                 messages. Hope this will work. :-) */
     165        /*
     166        if (flags & AIM_CHATFLAGS_UNICODE)
     167                aimbs_put16(&fr->data, 0x0002);
     168        else if (flags & AIM_CHATFLAGS_ISO_8859_1)
     169                aimbs_put16(&fr->data, 0x0003);
     170        else
     171                aimbs_put16(&fr->data, 0x0000);
     172       
     173        aimbs_put16(&fr->data, 0x0000);
     174        */
     175       
    162176        /*
    163177         * SubTLV: Type 1: Message
  • protocols/oscar/im.c

    r41ca004 r68b518d6  
    14691469            case 0x9c:  /* ICQ 5 seems to send this */
    14701470                aim_send_im_ch2_statusmessage(sess, userinfo->sn, args->cookie,
    1471                         gc->away, sess->aim_icq_state, dc);
     1471                        gc->away ? gc->away : "", sess->aim_icq_state, dc);
    14721472                break;
    14731473
  • protocols/oscar/oscar.c

    r41ca004 r68b518d6  
    22 * gaim
    33 *
     4 * Some code copyright (C) 2002-2006, Jelmer Vernooij <jelmer@samba.org>
     5 *                                    and the BitlBee team.
    46 * Some code copyright (C) 1998-1999, Mark Spencer <markster@marko.net>
    57 * libfaim code copyright 1998, 1999 Adam Fritzler <afritz@auk.cx>
     
    136138        int i, j;
    137139        char *x = strchr(name, '-');
    138         if (!x) return NULL;
     140        if (!x) return g_strdup(name);
    139141        x = strchr(++x, '-');
    140         if (!x) return NULL;
     142        if (!x) return g_strdup(name);
    141143        tmp = g_strdup(++x);
    142144
     
    390392        if (g_strcasecmp(user->proto_opt[USEROPT_AUTH], "login.icq.com") != 0 &&
    391393            g_strcasecmp(user->proto_opt[USEROPT_AUTH], "login.oscar.aol.com") != 0) {
    392                 serv_got_crap(gc, "Warning: Unknown OSCAR server: `%s'. Please review your configuration if the connection fails.");
     394                serv_got_crap(gc, "Warning: Unknown OSCAR server: `%s'. Please review your configuration if the connection fails.",user->proto_opt[USEROPT_AUTH]);
    393395        }
    394396       
     
    25172519        int ret;
    25182520        guint8 len = strlen(message);
     2521        guint16 flags;
    25192522        char *s;
    25202523       
     
    25252528                if (*s & 128)
    25262529                        break;
    2527                
     2530       
     2531        flags = AIM_CHATFLAGS_NOREFLECT;
     2532       
    25282533        /* Message contains high ASCII chars, time for some translation! */
    25292534        if (*s) {
     
    25322537                   If we can't, fall back to UTF16. */
    25332538                if ((ret = do_iconv("UTF-8", "ISO8859-1", message, s, len, BUF_LONG)) >= 0) {
     2539                        flags |= AIM_CHATFLAGS_ISO_8859_1;
    25342540                        len = ret;
    25352541                } else if ((ret = do_iconv("UTF-8", "UNICODEBIG", message, s, len, BUF_LONG)) >= 0) {
     2542                        flags |= AIM_CHATFLAGS_UNICODE;
    25362543                        len = ret;
    25372544                } else {
     
    25442551        }
    25452552               
    2546         ret = aim_chat_send_im(od->sess, ccon->conn, AIM_CHATFLAGS_NOREFLECT, s, len);
     2553        ret = aim_chat_send_im(od->sess, ccon->conn, flags, s, len);
    25472554               
    25482555        if (s != message) {     
     
    26172624        int ret;
    26182625        static int chat_id = 0;
    2619         char * chatname = g_new0(char, strlen(gc->username)+4);
    2620        
    2621         g_snprintf(chatname, strlen(gc->username) + 4, "%s%d", gc->username, chat_id++);
     2626        char * chatname;
     2627       
     2628        chatname = g_strdup_printf("%s%d", gc->username, chat_id++);
    26222629 
    26232630        ret = oscar_chat_join(gc, chatname);
  • root_commands.c

    r41ca004 r68b518d6  
    5656                                cmd[k++] = s;
    5757                                s --;
     58                        }
     59                        else
     60                        {
     61                                break;
    5862                        }
    5963                }
     
    554558        else
    555559        {
    556                 gc->prpl->rem_permit( gc, cmd[2] );
    557                 gc->prpl->add_deny( gc, cmd[2] );
    558                 irc_usermsg( irc, "Buddy `%s' moved from your permit- to your deny-list", cmd[2] );
     560                bim_rem_allow( gc, cmd[2] );
     561                bim_add_block( gc, cmd[2] );
     562                irc_usermsg( irc, "Buddy `%s' moved from your allow- to your block-list", cmd[2] );
    559563        }
    560564}
     
    613617        else
    614618        {
    615                 gc->prpl->rem_deny( gc, cmd[2] );
    616                 gc->prpl->add_permit( gc, cmd[2] );
    617                
    618                 irc_usermsg( irc, "Buddy `%s' moved from your deny- to your permit-list", cmd[2] );
     619                bim_rem_block( gc, cmd[2] );
     620                bim_add_allow( gc, cmd[2] );
     621               
     622                irc_usermsg( irc, "Buddy `%s' moved from your block- to your allow-list", cmd[2] );
    619623        }
    620624}
  • user.c

    r41ca004 r68b518d6  
    168168        u->nick = g_strdup( newnick );
    169169        if( !u->user ) u->user = u->nick;
    170         if( !u->host ) u->user = u->host;
    171         if( !u->realname ) u->user = u->realname;
     170        if( !u->host ) u->host = u->nick;
     171        if( !u->realname ) u->realname = u->nick;
    172172       
    173173        /* Remove the old reference to this user from the hash and create a
  • util.c

    r41ca004 r68b518d6  
    3939#include <glib.h>
    4040#include <time.h>
     41#ifdef GLIB2
     42#define iconv_t GIConv
     43#define iconv_open g_iconv_open
     44#define iconv_close g_iconv_close
     45#define iconv g_iconv
     46#else
    4147#include <iconv.h>
     48#endif
    4249
    4350void strip_linefeed(gchar *text)
Note: See TracChangeset for help on using the changeset viewer.