Mercurial > pidgin
view licq2gaim.pl @ 5497:3c7748b24410
[gaim-migrate @ 5893]
I changed some small things.
1) 3 comments in 3 different files which makes "make docs" not give 3
warnings.
2) Made frombase16 return-via-parameter an unsigned char* instead of a
char*. Nothing actually uses frombase16, so this doesn't affect anything,
but it mirrors Nathan's change to tobase16, and should make the conversion
work correctly.
3) Fixed the bug Luke mailed to gaim-devel on Monday:
"sign on, change an aim account's email address, sign off, segfault.
it's happened 2x now" --Luke "The Yellow Dart" Schierer
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Fri, 23 May 2003 01:45:17 +0000 |
parents | e967c0d93930 |
children |
line wrap: on
line source
#!/usr/bin/perl -w # licq2gaim.pl # # Arturo Cisneros, Jr <acjr@hal-pc.org> # GPL'd use strict; my $DIR = "$ENV{HOME}/.licq"; my $GAIM = "$ENV{HOME}/.gaim"; my (@UINS, %USERS) = (); my $OWNER = ""; get_uins(); foreach my $uin (@UINS) { $USERS{$uin} = get_alias($uin); } get_owner(); write_list(); sub get_uins { opendir(DIR, "$DIR/users") or die "Couldn't open dir $DIR/users/: $!"; @UINS = grep !/^\./, readdir DIR; closedir(DIR); } sub get_owner { my @foo = (); open(FILE, "<$DIR/owner.uin") or die "Couldn't open file $DIR/owner.uin $!"; while(<FILE>) { next unless /^Uin/; @foo = split; last; } close(FILE); $OWNER = $foo[2]; } sub get_alias { my @foo = (); open(FILE, "<$DIR/users/$_[0]") or die "Couldn't open $DIR/users/$_[0]: $!"; while(<FILE>) { next unless /^Alias/; @foo = split / /, $_, 3; last; } close(FILE); return $foo[2]; } sub write_list { # Backup Original if( -e "$GAIM/$OWNER.3.blist") { rename("$GAIM/$OWNER.3.blist","$GAIM/$OWNER.3.bak"); } # Write new file open(FILE, ">$GAIM/$OWNER.3.blist") or die "Couldn't open file for writing: $!"; print FILE "m 1\n"; print FILE "g ICQBuddies\n"; while(my($key, $value) = each %USERS) { $key =~ s/\.uin$//; print FILE "b $key:$value"; } close(FILE); }