summaryrefslogtreecommitdiff
path: root/lib/ConfigFile.cc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ConfigFile.cc')
-rw-r--r--lib/ConfigFile.cc86
1 files changed, 43 insertions, 43 deletions
diff --git a/lib/ConfigFile.cc b/lib/ConfigFile.cc
index 85cbb00..c765fae 100644
--- a/lib/ConfigFile.cc
+++ b/lib/ConfigFile.cc
@@ -1,43 +1,43 @@
-#include "ConfigFile.h"
-#include "Regex.h"
-
-ConfigFile::ConfigFile(Handle * f) throw (GeneralException) {
- Regex r("^\\[.*\\]$"), comment("^#.*$"), empty("^ *$"), line("^.*=.*$");
- bool started = false;
- String s, section, key, value;
- ConfigSectionContents contents;
- int pos;
-
- while (!f->IsClosed()) {
- (*f) >> s;
- if (comment.Match(s) || empty.Match(s))
- continue;
- if (r.Match(s)) {
- if (!started) {
- started = true;
- } else {
- c[section] = contents;
- contents.clear();
- }
- section = s.extract(1, s.strlen() - 2);
- continue;
- }
- if (line.Match(s)) {
- if (!started) {
- throw GeneralException("Config file must begin with a section");
- }
- pos = s.strchr('=');
- key = s.extract(0, pos - 1).trim();
- value = s.extract(pos + 1).trim();
- contents[key] = value;
- continue;
- }
- throw GeneralException("Invalid line: " + s);
- }
-
- c[section] = contents;
-}
-
-ConfigSectionContents & ConfigFile::operator[](String s) {
- return c[s];
-}
+#include "ConfigFile.h"
+#include "Regex.h"
+
+ConfigFile::ConfigFile(Handle * f) throw (GeneralException) {
+ Regex r("^\\[.*\\]$"), comment("^#.*$"), empty("^ *$"), line("^.*=.*$");
+ bool started = false;
+ String s, section, key, value;
+ ConfigSectionContents contents;
+ int pos;
+
+ while (!f->IsClosed()) {
+ (*f) >> s;
+ if (comment.Match(s) || empty.Match(s))
+ continue;
+ if (r.Match(s)) {
+ if (!started) {
+ started = true;
+ } else {
+ c[section] = contents;
+ contents.clear();
+ }
+ section = s.extract(1, s.strlen() - 2);
+ continue;
+ }
+ if (line.Match(s)) {
+ if (!started) {
+ throw GeneralException("Config file must begin with a section");
+ }
+ pos = s.strchr('=');
+ key = s.extract(0, pos - 1).trim();
+ value = s.extract(pos + 1).trim();
+ contents[key] = value;
+ continue;
+ }
+ throw GeneralException("Invalid line: " + s);
+ }
+
+ c[section] = contents;
+}
+
+ConfigSectionContents & ConfigFile::operator[](String s) {
+ return c[s];
+}