diff options
author | elliott_c <ocielliottc@users.noreply.github.com> | 2003-06-10 17:54:16 +0000 |
---|---|---|
committer | elliott_c <ocielliottc@users.noreply.github.com> | 2003-06-10 17:54:16 +0000 |
commit | 34a5c0766194acf1e8d831c31ae7731e5042caf9 (patch) | |
tree | 842fb941523a075c1b169b029c4dec8c4f7063d6 /bin | |
parent | 77a52c9423f7a3c224415512daf3879bba2c29d0 (diff) | |
download | ATCD-34a5c0766194acf1e8d831c31ae7731e5042caf9.tar.gz |
ChangeLogTag: Tue Jun 10 12:50:16 2003 Chad Elliott <elliott_c@ociweb.com>
Diffstat (limited to 'bin')
-rw-r--r-- | bin/MakeProjectCreator/modules/ProjectCreator.pm | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/bin/MakeProjectCreator/modules/ProjectCreator.pm b/bin/MakeProjectCreator/modules/ProjectCreator.pm index e3f9a5b1fbe..c2c7697f614 100644 --- a/bin/MakeProjectCreator/modules/ProjectCreator.pm +++ b/bin/MakeProjectCreator/modules/ProjectCreator.pm @@ -159,6 +159,7 @@ sub new { $self->{'pctype'} = $self->extractType("$self"); $self->{'defaulted'} = {}; $self->{'custom_types'} = {}; + $self->{'parents_read'} = {}; $self->{'feature_parser'} = new FeatureParser($gfeature, $feature); $self->{'convert_slashes'} = $self->convert_slashes(); $self->{'sort_files'} = $self->sort_files(); @@ -253,6 +254,7 @@ sub parse_line { $self->{'special_supplied'} = {}; $self->{'type_specific_assign'} = {}; $self->{'flag_overrides'} = {}; + $self->{'parents_read'} = {}; $self->reset_generating_types(); } } @@ -307,13 +309,16 @@ sub parse_line { } if ($status) { - ## Begin reading the parent - push(@{$self->{'reading_parent'}}, $file); - $status = $self->parse_file($file); - pop(@{$self->{'reading_parent'}}); - - if (!$status) { - $errorString = "ERROR: Invalid parent: $parent"; + if (!defined $self->{'parents_read'}->{$file}) { + $self->{'parents_read'}->{$file} = 1; + ## Begin reading the parent + push(@{$self->{'reading_parent'}}, $file); + $status = $self->parse_file($file); + pop(@{$self->{'reading_parent'}}); + + if (!$status) { + $errorString = "ERROR: Invalid parent: $parent"; + } } } } |