add check for empty value of definitions.
authorjlin16 <jlin16@de2fecce-e211-0410-80a6-f3fac2684e05>
Wed, 14 Feb 2007 03:08:45 +0000 (03:08 +0000)
committerjlin16 <jlin16@de2fecce-e211-0410-80a6-f3fac2684e05>
Wed, 14 Feb 2007 03:08:45 +0000 (03:08 +0000)
git-svn-id: https://edk2.tianocore.org/svn/edk2/trunk@2391 de2fecce-e211-0410-80a6-f3fac2684e05

edk2/Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/toolchain/ToolChainId.java

index b331af3..65e20bd 100644 (file)
@@ -158,53 +158,70 @@ public class ToolChainId {
                 String rLine = null;
                 String inLine[] = new String[2];
                 while ((rLine = reader.readLine()) != null) {
+                       rLine = rLine.trim();
                     if ((rLine.startsWith("ACTIVE_PLATFORM")) && (activePlatform == null)) {
                         // Only one active platform is permitted!
-                        inLine = rLine.trim().split("=");
-                        activePlatform = inLine[1].trim();
+                        inLine = rLine.split("=");
+                        if (inLine.length > 1) {
+                               activePlatform = inLine[1].trim();
+                        }
                     }
                     if ((rLine.startsWith("TARGET" + " ")) || (rLine.startsWith("TARGET" + "\t"))
                         || (rLine.startsWith("TARGET="))) {
                         // Handle multiple Target Names
                         if (rLine.contains(",")) {
-                            inLine = rLine.trim().split("=");
-                            buildTargets = inLine[1].trim().replaceAll(",", " ");
+                            inLine = rLine.split("=");
+                            if (inLine.length > 1) {
+                               buildTargets = inLine[1].trim().replaceAll(",", " ");
+                            }
                         } else {
                             inLine = rLine.trim().split("=");
-                            buildTargets = inLine[1].trim();
+                            if (inLine.length > 1) {
+                               buildTargets = inLine[1].trim();
+                            }
                         }
                     }
                     if (rLine.startsWith("TARGET_ARCH")) {
                         // Handle multiple Target Architectures
                         if (rLine.contains(",")) {
-                            inLine = rLine.trim().split("=");
-                            targetArchs = inLine[1].trim().replaceAll(",", " ");
+                            inLine = rLine.split("=");
+                            if (inLine.length > 1) {
+                               targetArchs = inLine[1].trim().replaceAll(",", " ");
+                            }
                         } else {
-                            inLine = rLine.trim().split("=");
-                            targetArchs = inLine[1].trim();
+                            inLine = rLine.split("=");
+                            if (inLine.length > 1) {
+                               targetArchs = inLine[1].trim();
+                            }
                         }
                     }
                     if (rLine.startsWith("TOOL_CHAIN_CONF")) {
                         // Only one file is permitted
-                        inLine = rLine.trim().split("=");
-                        toolDefinitionFile = inLine[1].trim();
+                        inLine = rLine.split("=");
+                        if (inLine.length > 1) {
+                               toolDefinitionFile = inLine[1].trim();
+                        }
                     }
 
                     if (rLine.startsWith("TOOL_CHAIN_TAG")) {
                         // Handle multiple Tool TagNames
                         if (rLine.contains(",")) {
-                            inLine = rLine.trim().split("=");
-                            tagNames = inLine[1].trim().replaceAll(",", " ");
+                            inLine = rLine.split("=");
+                            if (inLine.length > 1) {
+                               tagNames = inLine[1].trim().replaceAll(",", " ");
+                            }
                         } else {
-                            inLine = rLine.trim().split("=");
-                            tagNames = inLine[1].trim();
+                            inLine = rLine.split("=");
+                            if (inLine.length > 1) {
+                               tagNames = inLine[1].trim();
+                            }
                         }
                     }
 
                     if (rLine.startsWith("MULTIPLE_THREAD")) {
                         // Handle Thread Enable flag
-                        if ((rLine.trim().toLowerCase().contains("enabled"))
-                            || (rLine.trim().toLowerCase().contains("true"))) {
+                        if ((rLine.toLowerCase().contains("enabled"))
+                            || (rLine.toLowerCase().contains("true"))) {
                             threadEnabled = true;
                         } else {
                             threadEnabled = false;
@@ -213,8 +230,10 @@ public class ToolChainId {
 
                     if (rLine.startsWith("MAX_CONCURRENT_THREAD_NUMBER")) {
                         // Handle Thread Enable flag
-                        inLine = rLine.trim().split("=");
-                        maxThreadCount = Integer.valueOf(inLine[1].trim());
+                        inLine = rLine.split("=");
+                        if (inLine.length > 1) {
+                               maxThreadCount = Integer.valueOf(inLine[1].trim());
+                        }
                     }
                 }
                 reader.close();