1 | diff -u -r bitlbee-3.0.1/protocols/jabber/conference.c bitlbee-3.0.1-hack/protocols/jabber/conference.c |
---|
2 | --- bitlbee-3.0.1/protocols/jabber/conference.c 2010-11-24 14:44:00.000000000 -0800 |
---|
3 | +++ bitlbee-3.0.1-hack/protocols/jabber/conference.c 2011-02-22 11:14:55.000000000 -0800 |
---|
4 | @@ -241,7 +241,7 @@ |
---|
5 | if( ( s = xt_find_attr( item, "jid" ) ) ) |
---|
6 | { |
---|
7 | /* Yay, found what we need. :-) */ |
---|
8 | - bud->ext_jid = jabber_normalize( s ); |
---|
9 | + bud->ext_jid = jabber_normalize_lcnicks( ic, s ); |
---|
10 | break; |
---|
11 | } |
---|
12 | } |
---|
13 | @@ -251,7 +251,7 @@ |
---|
14 | { |
---|
15 | if( bud == jc->me ) |
---|
16 | { |
---|
17 | - bud->ext_jid = jabber_normalize( ic->acc->user ); |
---|
18 | + bud->ext_jid = jabber_normalize_lcnicks( ic, ic->acc->user ); |
---|
19 | } |
---|
20 | else |
---|
21 | { |
---|
22 | diff -u -r bitlbee-3.0.1/protocols/jabber/jabber.h bitlbee-3.0.1-hack/protocols/jabber/jabber.h |
---|
23 | --- bitlbee-3.0.1/protocols/jabber/jabber.h 2010-11-24 14:44:00.000000000 -0800 |
---|
24 | +++ bitlbee-3.0.1-hack/protocols/jabber/jabber.h 2011-02-22 11:15:16.000000000 -0800 |
---|
25 | @@ -273,6 +273,7 @@ |
---|
26 | const struct jabber_away_state *jabber_away_state_by_name( char *name ); |
---|
27 | void jabber_buddy_ask( struct im_connection *ic, char *handle ); |
---|
28 | char *jabber_normalize( const char *orig ); |
---|
29 | +char *jabber_normalize_lcnicks( struct im_connection *ic, const char *orig ); |
---|
30 | |
---|
31 | typedef enum |
---|
32 | { |
---|
33 | diff -u -r bitlbee-3.0.1/protocols/jabber/jabber_util.c bitlbee-3.0.1-hack/protocols/jabber/jabber_util.c |
---|
34 | --- bitlbee-3.0.1/protocols/jabber/jabber_util.c 2010-11-24 14:44:00.000000000 -0800 |
---|
35 | +++ bitlbee-3.0.1-hack/protocols/jabber/jabber_util.c 2011-02-22 11:21:59.000000000 -0800 |
---|
36 | @@ -307,6 +307,26 @@ |
---|
37 | g_free( buf ); |
---|
38 | } |
---|
39 | |
---|
40 | +/* Same as jabber_normalize, but respects lcnicks */ |
---|
41 | +char *jabber_normalize_lcnicks( struct im_connection *ic, const char *orig ) |
---|
42 | +{ |
---|
43 | + int len, i; |
---|
44 | + char *new; |
---|
45 | + |
---|
46 | + len = strlen( orig ); |
---|
47 | + new = g_new( char, len + 1 ); |
---|
48 | + |
---|
49 | + for( i = 0; orig[i] ; i ++ ) |
---|
50 | + new[i] = orig[i]; |
---|
51 | + |
---|
52 | + new[i] = 0; |
---|
53 | + |
---|
54 | + if( set_getbool( &ic->bee->set, "lcnicks" ) ) |
---|
55 | + nick_lc( new ); |
---|
56 | + |
---|
57 | + return new; |
---|
58 | +} |
---|
59 | + |
---|
60 | /* Returns a new string. Don't leak it! */ |
---|
61 | char *jabber_normalize( const char *orig ) |
---|
62 | { |
---|