Mercurial > hg4j
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; |