Mercurial > pidgin.yaz
annotate licq2gaim.pl @ 4249:9c7fcb211886
[gaim-migrate @ 4499]
If anyone is curious, the commit before this fixed a bug which
didn't allow you to delete AIM or ICQ people from a deny list.
They'll show up when you sign back online, and will be deleteable
now.
This is a patch from the good Mr. McQueen.
"Twofold attack:
1) Make sure all the callback functions don't throw a mental if the gc
the dialog was asking about has disappeared. Make sure the functions
still free up the data structs as necessary in this case.
2) When setting up a ask dialog, plugins (including prpls) pass in their
handle. The ask dialog struct gets kept in a slist. When unloading a
plugin or prpl, Gaim checks the handle against the list, and sends a
cancel-type message for any outstanding dialogs.
Should avoid crashes from non-modal ask dialogs lying around."
Yeah, so that's a nice lil' improvement.
I also fixed a think where SSI "authorization denied" messages
would be gibberish. That was a bug from just a few hours ago.
Whoops.
Also, since this is like a grown up version of show and tell, I
thought this was funny:
* Robot101 fixes idiocy
<KingAnt> Does that mean I'm going to be nuetered?
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Wed, 08 Jan 2003 08:18:49 +0000 |
parents | e967c0d93930 |
children |
rev | line source |
---|---|
2803 | 1 #!/usr/bin/perl -w |
2 # licq2gaim.pl | |
3 # | |
4 # Arturo Cisneros, Jr <acjr@hal-pc.org> | |
5 # GPL'd | |
6 | |
7 use strict; | |
8 | |
9 my $DIR = "$ENV{HOME}/.licq"; | |
10 my $GAIM = "$ENV{HOME}/.gaim"; | |
11 my (@UINS, %USERS) = (); | |
12 my $OWNER = ""; | |
13 | |
14 | |
15 get_uins(); | |
16 | |
17 foreach my $uin (@UINS) { | |
18 $USERS{$uin} = get_alias($uin); | |
19 } | |
20 | |
21 get_owner(); | |
22 write_list(); | |
23 | |
24 | |
25 sub get_uins { | |
26 | |
27 opendir(DIR, "$DIR/users") or die "Couldn't open dir $DIR/users/: $!"; | |
28 @UINS = grep !/^\./, readdir DIR; | |
29 closedir(DIR); | |
30 } | |
31 | |
32 sub get_owner { | |
33 | |
34 my @foo = (); | |
35 | |
36 open(FILE, "<$DIR/owner.uin") or die "Couldn't open file $DIR/owner.uin $!"; | |
37 while(<FILE>) { | |
38 next unless /^Uin/; | |
39 @foo = split; | |
40 last; | |
41 } | |
42 close(FILE); | |
43 | |
44 $OWNER = $foo[2]; | |
45 } | |
46 | |
47 sub get_alias { | |
48 | |
49 my @foo = (); | |
50 | |
51 open(FILE, "<$DIR/users/$_[0]") or die "Couldn't open $DIR/users/$_[0]: $!"; | |
52 while(<FILE>) { | |
53 next unless /^Alias/; | |
54 @foo = split / /, $_, 3; | |
55 last; | |
56 } | |
57 close(FILE); | |
58 | |
59 return $foo[2]; | |
60 } | |
61 | |
62 sub write_list { | |
63 | |
64 # Backup Original | |
65 if( -e "$GAIM/$OWNER.3.blist") { | |
66 rename("$GAIM/$OWNER.3.blist","$GAIM/$OWNER.3.bak"); | |
67 } | |
68 | |
69 # Write new file | |
70 open(FILE, ">$GAIM/$OWNER.3.blist") or die "Couldn't open file for writing: $!"; | |
71 print FILE "m 1\n"; | |
72 print FILE "g ICQBuddies\n"; | |
73 while(my($key, $value) = each %USERS) { | |
74 $key =~ s/\.uin$//; | |
75 print FILE "b $key:$value"; | |
76 } | |
77 close(FILE); | |
78 } |