cvsuser     02/02/18 10:45:09

  Modified:    P5EEx/Blue/P5EEx/Blue/Config File.pm
  Log:
  fix bug allowing 'test.pl' to be inferred as the config file for the 'test.pl' script
  
  Revision  Changes    Path
  1.5       +7 -5      p5ee/P5EEx/Blue/P5EEx/Blue/Config/File.pm
  
  Index: File.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/P5EEx/Blue/P5EEx/Blue/Config/File.pm,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -w -r1.4 -r1.5
  --- File.pm   5 Feb 2002 22:21:27 -0000       1.4
  +++ File.pm   18 Feb 2002 18:45:09 -0000      1.5
  @@ -1,10 +1,10 @@
   
   #############################################################################
  -## $Id: File.pm,v 1.4 2002/02/05 22:21:27 spadkins Exp $
  +## $Id: File.pm,v 1.5 2002/02/18 18:45:09 spadkins Exp $
   #############################################################################
   
   package P5EEx::Blue::Config::File;
  -$VERSION = do { my @r=(q$Revision: 1.4 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
  +$VERSION = do { my @r=(q$Revision: 1.5 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
   
   use P5EEx::Blue::P5EE;
   use P5EEx::Blue::Config;
  @@ -25,7 +25,7 @@
   
       local(*FILE);
   
  -    my ($file, $testfile, $dir, @files, $filebase, $filetype, $scriptbase);
  +    my ($file, $testfile, $dir, @files, $filebase, $filetype, $scriptbase, $script);
       my ($serializer_class, $open);
   
       $file = $args->{configFile};
  @@ -44,6 +44,7 @@
   
       $scriptbase = $0;
       $scriptbase =~ s!.*/!!;        # remove leading path
  +    $script     = $scriptbase;
       $scriptbase =~ s!\.[^\.]+$!!;  # remove trailing extension (i.e. ".cgi")
   
       if ($file) {
  @@ -59,6 +60,7 @@
           CONFIGFILE: foreach $filetype qw(pl xml ini properties perl conf) {
               foreach $filebase ($scriptbase, "config") {
                   $testfile = ($dir eq ".") ? "$filebase.$filetype" : 
"$dir/$filebase.$filetype";
  +                next if ($testfile eq $script);
                   if (-r $testfile) {
                       $file = $testfile;
                       last CONFIGFILE;
  @@ -142,13 +144,13 @@
               eval($text);
               if ($@) {
                   P5EEx::Blue::Exception::Config->throw(
  -                    error => "create(): error eval'ing config text: $@\n"
  +                    error => "create(): [$file] error eval'ing config text: $@\n"
                   );
               }
           }
           else {
               P5EEx::Blue::Exception::Config->throw(
  -                error => "create(): config text doesn't start with '\$var ='\n"
  +                error => "create(): [$file] config text doesn't match '\$var = 
{...};'\n"
               );
           }
       }
  
  
  


Reply via email to