comparison src/org/tmatesoft/hg/internal/ConfigFile.java @ 136:947bf231acbb

Strip off comments in config file
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Wed, 16 Feb 2011 22:08:58 +0100
parents 44b97930570c
children 981f9f50bb6c
comparison
equal deleted inserted replaced
135:3959bffb14e9 136:947bf231acbb
105 String line; 105 String line;
106 String sectionName = ""; 106 String sectionName = "";
107 Map<String,String> section = new LinkedHashMap<String, String>(); 107 Map<String,String> section = new LinkedHashMap<String, String>();
108 while ((line = br.readLine()) != null) { 108 while ((line = br.readLine()) != null) {
109 line = line.trim(); 109 line = line.trim();
110 int x;
111 if ((x = line.indexOf('#')) != -1) {
112 // do not keep comments in memory, get new, shorter string
113 line = new String(line.substring(0, x).trim());
114 }
110 if (line.length() <= 2) { // a=b or [a] are at least of length 3 115 if (line.length() <= 2) { // a=b or [a] are at least of length 3
111 continue; 116 continue;
112 } 117 }
113 int x;
114 if (line.charAt(0) == '[' && line.charAt(line.length() - 1) == ']') { 118 if (line.charAt(0) == '[' && line.charAt(line.length() - 1) == ']') {
115 sectionName = line.substring(1, line.length() - 1); 119 sectionName = line.substring(1, line.length() - 1);
116 if (sections.indexOf(sectionName) == -1) { 120 if (sections.indexOf(sectionName) == -1) {
117 sections.add(sectionName); 121 sections.add(sectionName);
118 content.add(section = new LinkedHashMap<String, String>()); 122 content.add(section = new LinkedHashMap<String, String>());
119 } else { 123 } else {
120 section = null; // drop cached value 124 section = null; // drop cached value
121 } 125 }
122 } else if ((x = line.indexOf('=')) != -1) { 126 } else if ((x = line.indexOf('=')) != -1) {
127 // share char[] of the original string
123 String key = line.substring(0, x).trim(); 128 String key = line.substring(0, x).trim();
124 String value = line.substring(x+1).trim(); 129 String value = line.substring(x+1).trim();
125 if (section == null) { 130 if (section == null) {
126 int i = sections.indexOf(sectionName); 131 int i = sections.indexOf(sectionName);
127 assert i >= 0; 132 assert i >= 0;