- // If the line is now all blank, ignore it.
- if (len == 0) {
- continue;
- }
-
- vector<string> tokens = split_tokens(buf);
- assert(!tokens.empty());
-
- ConfigLine line;
- line.keyword = tokens[0];
-
- for (size_t i = 1; i < tokens.size(); ++i) {
- // foo=bar is a parameter; anything else is an argument.
- size_t equals_pos = tokens[i].find_first_of('=');
- if (equals_pos == string::npos) {
- line.arguments.push_back(tokens[i]);
- } else {
- string key = tokens[i].substr(0, equals_pos);
- string value = tokens[i].substr(equals_pos + 1, string::npos);
- line.parameters.insert(make_pair(key, value));
- }
- }