ソースを参照

Patched segmentedname to string (stop when identifier < 0)

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7471 8c9fc860-2736-0410-a75d-ab315db34111
felixf 7 年 前
コミット
169581ea99
1 ファイル変更5 行追加7 行削除
  1. 5 7
      source/ObjectFile.Mod

+ 5 - 7
source/ObjectFile.Mod

@@ -1225,15 +1225,13 @@ VAR
 	VAR i,j, segment: LONGINT; n: SectionName;
 	BEGIN
 		i := 0; segment := 0;
-		WHILE (segment < LEN(segmentedName)) DO
-			IF segmentedName[segment] >= 0 THEN
-				IF segment > 0 THEN name[i] := "."; INC(i) END;
-				StringPool.GetString(segmentedName[segment],n);
-				j := 0;
-				WHILE n[j] # 0X DO
+		WHILE (segment < LEN(segmentedName)) & (segmentedName[segment] >= 0) DO
+			IF segment > 0 THEN name[i] := "."; INC(i) END;
+			StringPool.GetString(segmentedName[segment],n);
+			j := 0;
+			WHILE n[j] # 0X DO
 				name[i] := n[j]; INC(i); INC(j);
 			END;
-		END;
 			INC(segment);
 		END;
 		name[i] := 0X;