Fix for bad sorting of object names.

Add warning print out if duplicate names found:
should end up as a fatal error but a warning for
now until they problems are fixed...
This commit is contained in:
Dr. Stephen Henson
2000-08-06 18:43:32 +00:00
parent 5584fa1709
commit d4fbe3182d
4 changed files with 272 additions and 18 deletions

View File

@@ -46,10 +46,28 @@ while (<IN>)
next unless /^\#define\s+(\S+)\s+(.*)$/;
$v=$1;
$d=$2;
$d =~ s/^\"//;
$d =~ s/\"$//;
if ($v =~ /^SN_(.*)$/)
{ $sn{$1}=$d; }
{
if(defined $snames{$d})
{
print "WARNING: Duplicate short name \"$d\"\n";
}
else
{ $snames{$d} = "X"; }
$sn{$1}=$d;
}
elsif ($v =~ /^LN_(.*)$/)
{ $ln{$1}=$d; }
{
if(defined $lnames{$d})
{
print "WARNING: Duplicate long name \"$d\"\n";
}
else
{ $lnames{$d} = "X"; }
$ln{$1}=$d;
}
elsif ($v =~ /^NID_(.*)$/)
{ $nid{$d}=$1; }
elsif ($v =~ /^OBJ_(.*)$/)
@@ -78,11 +96,20 @@ for ($i=0; $i<$n; $i++)
{
$sn=defined($sn{$nid{$i}})?"$sn{$nid{$i}}":"NULL";
$ln=defined($ln{$nid{$i}})?"$ln{$nid{$i}}":"NULL";
$sn=$ln if ($sn eq "NULL");
$ln=$sn if ($ln eq "NULL");
if ($sn eq "NULL") {
$sn=$ln;
$sn{$nid{$i}} = $ln;
}
if ($ln eq "NULL") {
$ln=$sn;
$ln{$nid{$i}} = $sn;
}
$out ="{";
$out.=$sn;
$out.=",".$ln;
$out.="\"$sn\"";
$out.=","."\"$ln\"";
$out.=",NID_$nid{$i},";
if (defined($obj{$nid{$i}}))
{
@@ -117,13 +144,13 @@ for ($i=0; $i<$n; $i++)
@a=grep(defined($sn{$nid{$_}}),0 .. $n);
foreach (sort { $sn{$nid{$a}} cmp $sn{$nid{$b}} } @a)
{
push(@sn,sprintf("&(nid_objs[%2d]),/* $sn{$nid{$_}} */\n",$_));
push(@sn,sprintf("&(nid_objs[%2d]),/* \"$sn{$nid{$_}}\" */\n",$_));
}
@a=grep(defined($ln{$nid{$_}}),0 .. $n);
foreach (sort { $ln{$nid{$a}} cmp $ln{$nid{$b}} } @a)
{
push(@ln,sprintf("&(nid_objs[%2d]),/* $ln{$nid{$_}} */\n",$_));
push(@ln,sprintf("&(nid_objs[%2d]),/* \"$ln{$nid{$_}}\" */\n",$_));
}
@a=grep(defined($obj{$nid{$_}}),0 .. $n);