[1111] in BarnOwl Developers

home help back first fref pref prev next nref lref last post

[D-O-H] r1076 - in branches/barnowl_perlaim/owl/perl/modules/AIM/lib: BarnOwl/Module Net/OSCAR

daemon@ATHENA.MIT.EDU (geofft@MIT.EDU)
Thu Oct 29 18:13:08 2009

Resent-From: nelhage@mit.edu
Resent-To: barnowl-dev-mtg@charon.mit.edu
X-Original-To: nelhage@nelhage.com
Date: Sun, 1 Jun 2008 04:02:46 -0400 (EDT)
To: dirty-owl-hackers@MIT.EDU
From: geofft@MIT.EDU
Reply-to: dirty-owl-hackers@MIT.EDU

Author: geofft
Date: 2008-06-01 04:02:46 -0400 (Sun, 01 Jun 2008)
New Revision: 1076

Modified:
   branches/barnowl_perlaim/owl/perl/modules/AIM/lib/BarnOwl/Module/AIM.pm
   branches/barnowl_perlaim/owl/perl/modules/AIM/lib/Net/OSCAR/XML.pm
Log:
Potential fix to Net::OSCAR to make it deal with coderefs in @INC



Modified: branches/barnowl_perlaim/owl/perl/modules/AIM/lib/BarnOwl/Module/AIM.pm
===================================================================
--- branches/barnowl_perlaim/owl/perl/modules/AIM/lib/BarnOwl/Module/AIM.pm	2008-06-01 07:57:25 UTC (rev 1075)
+++ branches/barnowl_perlaim/owl/perl/modules/AIM/lib/BarnOwl/Module/AIM.pm	2008-06-01 08:02:46 UTC (rev 1076)
@@ -26,7 +26,7 @@
                 cmd_aimlogin($cmd, $user, @_);
                 });
     } else {
-        $oscar = Net::OSCAR->new();
+        my $oscar = Net::OSCAR->new();
         $oscar->set_callback_im_in(\&on_im_in);
         $oscar->signon($user, $pass);
     }
@@ -42,3 +42,7 @@
             );
     BarnOwl::queue_message($msg);
 }
+
+BarnOwl::new_command(aimlogin => \&cmd_aimlogin, {});
+
+1;

Modified: branches/barnowl_perlaim/owl/perl/modules/AIM/lib/Net/OSCAR/XML.pm
===================================================================
--- branches/barnowl_perlaim/owl/perl/modules/AIM/lib/Net/OSCAR/XML.pm	2008-06-01 07:57:25 UTC (rev 1075)
+++ branches/barnowl_perlaim/owl/perl/modules/AIM/lib/Net/OSCAR/XML.pm	2008-06-01 08:02:46 UTC (rev 1076)
@@ -50,9 +50,14 @@
 	# Look for parsed-xml file
 	if(!$NO_XML_CACHE) {
 		foreach (@INC) {
-			next unless -f "$_/Net/OSCAR/XML/Protocol.parsed-xml";
+			next unless ref($_) eq 'CODE' || -f "$_/Net/OSCAR/XML/Protocol.parsed-xml";
 
-			open(XMLCACHE, "$_/Net/OSCAR/XML/Protocol.parsed-xml") or next;
+			if (ref($_) eq 'CODE') {
+				*XMLCACHE = $_->($_, 'Net/OSCAR/XML/Protocol.parsed-xml');
+				next if (\*XMLCACHE == undef);
+			} else {
+				open(XMLCACHE, "$_/Net/OSCAR/XML/Protocol.parsed-xml") or next;
+			}
 			my $xmlcache = join("", <XMLCACHE>);
 			close(XMLCACHE);
 


home help back first fref pref prev next nref lref last post