bool INIFile::insertLine(LineIterator line_it, const String& line) { if (!isValid(line_it)) { Log.error() << "In INIFile " << filename_ << " , error while inserting line: " << line << " . Illegal iterator!" << endl; return false; } if (line_it.isSectionLastLine()) { return appendLine(line_it.getSection()->getName(), line); } Section& section(*line_it.getSection()); // key? if (line.hasSubstring("=", 1)) { String key(line.before("=")); key.trim(); if (section.key_map_.has(key) && check_duplicate_keys_) { Log.error() << "In INIFile " << filename_ << " , error while appending line: " << line << " . Key '" << key << "' already exists in section." << endl; return false; } line_it.getSectionNextLine(); section.key_map_[key] = section.lines_.insert(line_it.position_, line); return true; } line_it.getSectionNextLine(); section.lines_.insert(line_it.position_, line); return true; }