annotate licq2gaim.pl @ 7819:2226c01893d6

[gaim-migrate @ 8471] Take this, Luke! Also, shx, Felipe, guy, if you're listening: The top half of gaim_mime_decode_field() in util.c does things it shouldn't. You should not cast a const char * to a char *. Somewhere in that block the value of new changes, which is bad. It causes the following backtrace: #3 0x003fc9af in free_check () from /lib/tls/libc.so.6 #4 0x003f9fa5 in free () from /lib/tls/libc.so.6 #5 0x006aba64 in g_free () from /usr/lib/libglib-2.0.so.0 #6 0x0021da94 in email_msg (servconn=0x94df488, msg=0x95a1910) at notification.c:2083 #7 0x0021ebfd in process_message (servconn=0x94df488, msg=0x95a1910) at servconn.c:49 #8 0x0021ef6e in process_multi_line (servconn=0x94df488, buffer=0x95a4fd0 "MIME-Version: 1.0\r\nContent-Type: text/x-msmsgsemailnotification; charset=UTF-8\r\n\r\nFrom: Mark Doliner\r\nMessage-URL: /cgi-bin/getmsg?msg=MSG1070938998.38&start=7318&len=972&curmbox=ACTIVE\r\nPost-URL: htt"...) at servconn.c:165 #9 0x002201c5 in msn_servconn_parse_data (data=0x94df488, source=5, cond=GAIM_INPUT_READ) at servconn.c:602 committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Tue, 09 Dec 2003 03:07:29 +0000
parents e967c0d93930
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2803
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
1 #!/usr/bin/perl -w
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
2 # licq2gaim.pl
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
3 #
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
4 # Arturo Cisneros, Jr <acjr@hal-pc.org>
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
5 # GPL'd
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
6
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
7 use strict;
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
8
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
9 my $DIR = "$ENV{HOME}/.licq";
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
10 my $GAIM = "$ENV{HOME}/.gaim";
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
11 my (@UINS, %USERS) = ();
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
12 my $OWNER = "";
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
13
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
14
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
15 get_uins();
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
16
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
17 foreach my $uin (@UINS) {
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
18 $USERS{$uin} = get_alias($uin);
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
19 }
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
20
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
21 get_owner();
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
22 write_list();
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
23
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
24
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
25 sub get_uins {
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
26
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
27 opendir(DIR, "$DIR/users") or die "Couldn't open dir $DIR/users/: $!";
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
28 @UINS = grep !/^\./, readdir DIR;
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
29 closedir(DIR);
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
30 }
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
31
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
32 sub get_owner {
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
33
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
34 my @foo = ();
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
35
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
36 open(FILE, "<$DIR/owner.uin") or die "Couldn't open file $DIR/owner.uin $!";
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
37 while(<FILE>) {
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
38 next unless /^Uin/;
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
39 @foo = split;
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
40 last;
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
41 }
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
42 close(FILE);
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
43
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
44 $OWNER = $foo[2];
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
45 }
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
46
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
47 sub get_alias {
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
48
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
49 my @foo = ();
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
50
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
51 open(FILE, "<$DIR/users/$_[0]") or die "Couldn't open $DIR/users/$_[0]: $!";
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
52 while(<FILE>) {
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
53 next unless /^Alias/;
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
54 @foo = split / /, $_, 3;
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
55 last;
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
56 }
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
57 close(FILE);
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
58
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
59 return $foo[2];
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
60 }
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
61
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
62 sub write_list {
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
63
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
64 # Backup Original
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
65 if( -e "$GAIM/$OWNER.3.blist") {
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
66 rename("$GAIM/$OWNER.3.blist","$GAIM/$OWNER.3.bak");
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
67 }
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
68
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
69 # Write new file
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
70 open(FILE, ">$GAIM/$OWNER.3.blist") or die "Couldn't open file for writing: $!";
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
71 print FILE "m 1\n";
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
72 print FILE "g ICQBuddies\n";
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
73 while(my($key, $value) = each %USERS) {
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
74 $key =~ s/\.uin$//;
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
75 print FILE "b $key:$value";
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
76 }
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
77 close(FILE);
e967c0d93930 [gaim-migrate @ 2816]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
78 }