Author: timbo
Date: Sun Apr 10 09:22:31 2005
New Revision: 968

Modified:
   dbi/trunk/Changes
   dbi/trunk/lib/DBI/DBD.pm
Log:
Changed warning about multiple copies of Driver.xst found in @INC
to ignore duplicated directories thanks to Ed Avis.


Modified: dbi/trunk/Changes
==============================================================================
--- dbi/trunk/Changes   (original)
+++ dbi/trunk/Changes   Sun Apr 10 09:22:31 2005
@@ -9,6 +9,9 @@
   Fixed croak() in DBD::NullP thanks to Sergey Skvortsov.
   Fixed handling of take_imp_data() and dbi_imp_data attribute.
 
+  Changed warning about multiple copies of Driver.xst found in @INC
+    to ignore duplicated directories thanks to Ed Avis.
+
   Added $h->{Callbacks} attribute to enable code hooks to be invoked
     when certain methods are called. For example:
     $dbh->{Callbacks}->{prepare} = sub { ... };

Modified: dbi/trunk/lib/DBI/DBD.pm
==============================================================================
--- dbi/trunk/lib/DBI/DBD.pm    (original)
+++ dbi/trunk/lib/DBI/DBD.pm    Sun Apr 10 09:22:31 2005
@@ -2849,7 +2849,8 @@
     _inst_checks();
     return '$(INST_ARCHAUTODIR)' if $is_dbi;
     my $dbidir = dbd_dbi_dir();
-    my @try = map  {    vmsify( unixify($_) . "/auto/DBI/"  ) } @INC;
+    my %seen;
+    my @try = grep { not $seen{$_}++ } map { vmsify( unixify($_) . 
"/auto/DBI/" ) } @INC;
     my @xst = grep { -f vmsify( unixify($_) . "/Driver.xst" ) } @try;
     Carp::croak("Unable to locate Driver.xst in @try") unless @xst;
     Carp::carp( "Multiple copies of Driver.xst found in: @xst") if @xst > 1;

Reply via email to