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