diff options
author | elliott_c <ocielliottc@users.noreply.github.com> | 2003-06-18 12:36:42 +0000 |
---|---|---|
committer | elliott_c <ocielliottc@users.noreply.github.com> | 2003-06-18 12:36:42 +0000 |
commit | 701833603f35a4ba89838a28fe883f7057c67235 (patch) | |
tree | 38097fc095b451fd1600ea55698add80b155858a | |
parent | 51eef107704679b90dc9e0e0b061a2ba028e3446 (diff) | |
download | MPC-701833603f35a4ba89838a28fe883f7057c67235.tar.gz |
ChangeLogTag: Wed Jun 18 07:35:22 2003 Chad Elliott <elliott_c@ociweb.com>
-rw-r--r-- | modules/Creator.pm | 8 | ||||
-rw-r--r-- | modules/ProjectCreator.pm | 24 |
2 files changed, 24 insertions, 8 deletions
diff --git a/modules/Creator.pm b/modules/Creator.pm index 7a5d5e9d..45ebc026 100644 --- a/modules/Creator.pm +++ b/modules/Creator.pm @@ -504,10 +504,16 @@ sub process_assignment_add { my($name) = shift; my($value) = shift; my($assign) = shift; + my($order) = shift; my($nval) = $self->get_assignment($name, $assign); if (defined $nval) { - $nval = "$value $nval"; + if ($order) { + $nval .= " $value"; + } + else { + $nval = "$value $nval"; + } } else { $nval = $value; diff --git a/modules/ProjectCreator.pm b/modules/ProjectCreator.pm index 8d5d070d..2143ba59 100644 --- a/modules/ProjectCreator.pm +++ b/modules/ProjectCreator.pm @@ -454,6 +454,7 @@ sub parse_scoped_assignment { my($name) = shift; my($value) = shift; my($flags) = shift; + my($order) = shift; my($over) = {}; my($status) = 0; @@ -475,8 +476,7 @@ sub parse_scoped_assignment { } if ($type eq 'assignment') { - $self->process_assignment($name, - $value, $flags); + $self->process_assignment($name, $value, $flags); } elsif ($type eq 'assign_add') { ## If there is no value in $$flags, then we need to get @@ -485,8 +485,7 @@ sub parse_scoped_assignment { my($outer) = $self->get_assignment($name); $self->process_assignment($name, $outer, $flags); } - $self->process_assignment_add($name, - $value, $flags); + $self->process_assignment_add($name, $value, $flags, $order); } elsif ($type eq 'assign_sub') { ## If there is no value in $$flags, then we need to get @@ -495,8 +494,7 @@ sub parse_scoped_assignment { my($outer) = $self->get_assignment($name); $self->process_assignment($name, $outer, $flags); } - $self->process_assignment_sub($name, - $value, $flags); + $self->process_assignment_sub($name, $value, $flags); } } return $status; @@ -515,6 +513,17 @@ sub parse_components { my($order) = 0; my($set) = 0; my(%flags) = (); + my($custom) = defined $self->{'generated_exts'}->{$tag}; + + if ($custom) { + ## For the custom scoped assignments, we want to put a copy of + ## the original custom defined values in our flags associative array. + foreach my $key (keys %custom) { + if (defined $self->{'generated_exts'}->{$tag}->{$key}) { + $flags{$key} = $self->{'generated_exts'}->{$tag}->{$key}; + } + } + } if (defined $self->{$tag}) { $names = $self->{$tag}; @@ -577,7 +586,8 @@ sub parse_components { my(@values) = (); ## If this returns true, then we've found an assignment if ($self->parse_assignment($line, \@values)) { - $status = $self->parse_scoped_assignment($tag, @values, \%flags); + $status = $self->parse_scoped_assignment($tag, @values, + \%flags, $custom); if (!$status) { last; } |