@@ -632,13 +632,14 @@ procedure AddSMM(const Name : String; var Data : RawByteString);
632632end ;
633633
634634procedure FileToSection (const Name : String; var Data : RawByteString;
635- out ID , Category, Flags : String);
635+ out IDSORT, IDLIST , Category, Flags : String);
636636var
637- I : Integer;
637+ I, SORTAS : Integer;
638638 H : TArrayOfString;
639639 K, V : String;
640640begin
641- ID:=' ' ;
641+ IDSORT:=' ' ;
642+ IDLIST:=' ' ;
642643 Category:=' ' ;
643644 Flags:=' ' ;
644645 // Remove Header Stub from Data
@@ -655,9 +656,15 @@ procedure FileToSection(const Name : String; var Data : RawByteString;
655656 H[I]:=Trim(H[I]);
656657 case UpperCase(K) of
657658 ' UNIQUE ID' : begin
658- ID:=V;
659+ IDSORT:=V;
660+ IDLIST:=V;
659661 if H[I] <> ' ' then
660662 LogMessage(vbMinimal, ' Extraneous Data in Unique ID for file: ' + Name );
663+ SORTAS := Pos(' -sort-as-' , IDSORT);
664+ if SORTAS > 0 then begin
665+ IDSORT := Copy(IDSORT, SORTAS + Length(' -sort-as-' ));
666+ IDLIST := Copy(IDLIST, 1 , SORTAS - 1 );
667+ end ;
661668 end ;
662669 ' CATEGORY' : begin
663670 if UpperCase(V) = ' N/A' then
@@ -739,10 +746,10 @@ procedure HighestTable(const Name : String; const Data : RawByteString);
739746
740747procedure AddStandard (const Name : String; var Data : RawByteString);
741748var
742- ID , Category, Flags : String;
749+ IDSORT, IDLIST , Category, Flags : String;
743750begin
744- FileToSection(Name , Data, ID , Category, Flags);
745- if ID =' ' then begin
751+ FileToSection(Name , Data, IDSORT, IDLIST , Category, Flags);
752+ if IDLIST =' ' then begin
746753 LogMessage(vbMinimal, TAB + ' No ID found for file: ' + Name );
747754 WriteIssue;
748755 Inc(TotalErrors);
@@ -763,7 +770,7 @@ procedure AddStandard(const Name : String; var Data : RawByteString);
763770 Inc(TotalErrors);
764771 Exit;
765772 end ;
766- AddToTree(Name , ID + SPACE + CATEGORY , SectionEntry(ID , Category) + Data);
773+ AddToTree(Name , IDSORT , SectionEntry(IDLIST , Category) + Data);
767774end ;
768775
769776procedure AddDataFiles ;
0 commit comments