Mercurial > pidgin
annotate gaim2blt.pl @ 6243:34d553c43e8b
[gaim-migrate @ 6737]
This doesn't fix the "moving Buddies Causes Lockup" bug,
but I looked into it. Gaim is looping at the end of
serv_got_update(), in the while loop on line 1146
I see two possible causes for this:
1) gaim_find_buddy() is incorrectly iterating through the blist
2) dragging buddies like there's no tomorrow messes up the order
of the blist
Someone with more knowledge of how the blist works should look into
this before 0.67
It is not an oscar problem :-)
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sun, 20 Jul 2003 07:35:32 +0000 |
parents | 66bf7ecefedd |
children |
rev | line source |
---|---|
1741
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
1 #!/usr/bin/perl -w |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
2 # Original by Andy Harrison, |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
3 # Rewrite by Decklin Foster, |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
4 # Available under the GPL. |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
5 |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
6 package Gaim2Blt; |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
7 use strict; |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
8 use Getopt::Std; |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
9 use vars qw(%opts $in_group); |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
10 |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
11 getopts('s:', \%opts); |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
12 die "usage: $0 -s 'screen name' gaim.buddy\n" unless $opts{s}; |
1685 | 13 |
1741
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
14 print <<"EOF"; |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
15 Config { |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
16 version 1 |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
17 } |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
18 User { |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
19 screenname "$opts{s}" |
1685 | 20 } |
1741
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
21 Buddy { |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
22 list { |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
23 EOF |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
24 |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
25 while (<>) { |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
26 chomp; |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
27 my ($type, $args) = split ' ', $_, 2; |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
28 next unless $type; |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
29 |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
30 if ($type eq 'g') { |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
31 print " }\n" if ($in_group); |
3489
66bf7ecefedd
[gaim-migrate @ 3545]
Christian Hammond <chipx86@chipx86.com>
parents:
3389
diff
changeset
|
32 print qq( "$args" {\n); |
1741
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
33 $in_group = 1; |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
34 } elsif ($type eq 'b') { |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
35 my ($buddy, $alias) = split /:/, $args; |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
36 print qq( "$buddy"\n); |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
37 } |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
38 } |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
39 |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
40 print <<"EOF"; |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
41 } |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
42 } |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
43 } |
7506587a394d
[gaim-migrate @ 1751]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1686
diff
changeset
|
44 EOF |