source: irc_im.c @ 81e04e1

Last change on this file since 81e04e1 was 81e04e1, checked in by Wilmer van der Gaast <wilmer@…>, at 2010-04-01T02:32:25Z

nogaim.c is close to doing something useful again without speaking any IRC
itself.

  • Property mode set to 100644
File size: 2.2 KB
RevLine 
[81e04e1]1  /********************************************************************\
2  * BitlBee -- An IRC to other IM-networks gateway                     *
3  *                                                                    *
4  * Copyright 2002-2010 Wilmer van der Gaast and others                *
5  \********************************************************************/
6
7/* Some glue to put the IRC and the IM stuff together.                  */
8
9/*
10  This program is free software; you can redistribute it and/or modify
11  it under the terms of the GNU General Public License as published by
12  the Free Software Foundation; either version 2 of the License, or
13  (at your option) any later version.
14
15  This program is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  GNU General Public License for more details.
19
20  You should have received a copy of the GNU General Public License with
21  the Debian GNU/Linux distribution in /usr/share/common-licenses/GPL;
22  if not, write to the Free Software Foundation, Inc., 59 Temple Place,
23  Suite 330, Boston, MA  02111-1307  USA
24*/
25
26#include "bitlbee.h"
27
28static const struct irc_user_funcs irc_user_im_funcs;
29static const struct bee_ui_funcs irc_ui_funcs;
30
31static gboolean bee_irc_user_new( bee_t *bee, bee_user_t *bu )
32{
33        irc_user_t *iu;
34        char nick[MAX_NICK_LENGTH+1], *s;
35       
36        memset( nick, 0, MAX_NICK_LENGTH + 1 );
37        strcpy( nick, nick_get( bu->ic->acc, bu->handle ) );
38       
39        iu = irc_user_new( (irc_t*) bee->ui_data, nick );
40       
41        if( ( s = strchr( bu->handle, '@' ) ) )
42        {
43                iu->host = g_strdup( s + 1 );
44                iu->user = g_strndup( bu->handle, s - bu->handle );
45        }
46        else if( bu->ic->acc->server )
47        {
48                iu->host = g_strdup( bu->ic->acc->server );
49                iu->user = g_strdup( bu->handle );
50               
51                /* s/ /_/ ... important for AOL screennames */
52                for( s = iu->user; *s; s ++ )
53                        if( *s == ' ' )
54                                *s = '_';
55        }
56        else
57        {
58                iu->host = g_strdup( bu->ic->acc->prpl->name );
59                iu->user = g_strdup( bu->handle );
60        }
61       
62        iu->f = &irc_user_im_funcs;
63        //iu->last_typing_notice = 0;
64       
65        return TRUE;
66}
67
68
69
70static const struct bee_ui_funcs irc_ui_funcs = {
71        bee_irc_user_new,
72};
73
74static const struct irc_user_funcs irc_user_im_funcs = {
75};
Note: See TracBrowser for help on using the repository browser.