[Scummvm-cvs-logs] CVS: scummvm/common config-manager.h,1.14,1.15 config-manager.cpp,1.20,1.21

Max Horn fingolfin at users.sourceforge.net
Mon Mar 29 11:27:06 CEST 2004


Update of /cvsroot/scummvm/scummvm/common
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26741

Modified Files:
	config-manager.h config-manager.cpp 
Log Message:
Fixed a bad crash that occured when adding a new game target in the launcher

Index: config-manager.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/common/config-manager.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- config-manager.h	28 Mar 2004 20:26:13 -0000	1.14
+++ config-manager.h	29 Mar 2004 19:15:22 -0000	1.15
@@ -54,26 +54,16 @@
 	private:
 		StringMap _keyValueComments;
 		String _domainComment;
-	public:
 
-		const String &get(const String &key) const {
-			Node *node = findNode(_root, key);
-			return node ? node->_value : String::emptyString;
-		}
+	public:
+		const String &get(const String &key) const;
 
-		void setDomainComment(const String &comment) {
-			_domainComment = comment;
-		}
-		const String &getDomainComment() const {
-			return _domainComment;
-		}
+		void setDomainComment(const String &comment);
+		const String &getDomainComment() const;
 
-		void setKVComment(const String &key, const String &comment) {
-			_keyValueComments[key] = comment;
-		}
-		const String &getKVComment(const String &key) const {
-			return _keyValueComments[key];
-		}
+		void setKVComment(const String &key, const String &comment);
+		const String &getKVComment(const String &key) const;
+		bool hasKVComment(const String &key) const;
 	};
 
 	typedef Map<String, Domain, IgnoreCaseComparator> DomainMap;

Index: config-manager.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/common/config-manager.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- config-manager.cpp	28 Mar 2004 20:26:14 -0000	1.20
+++ config-manager.cpp	29 Mar 2004 19:15:23 -0000	1.21
@@ -240,9 +240,10 @@
 		const String &value = x->_value;
 		if (!value.isEmpty()) {
 			// Write comment (if any)
-			comment = domain.getKVComment(x->_key);
-			if (!comment.isEmpty())
+			if (domain.hasKVComment(x->_key)) {
+				comment = domain.getKVComment(x->_key);
 				fprintf(file, "%s", comment.c_str());
+			}
 			// Write the key/value pair
 			fprintf(file, "%s=%s\n", x->_key.c_str(), value.c_str());
 		}
@@ -451,4 +452,30 @@
 	return _gameDomains.contains(domain);
 }
 
+
+#pragma mark -
+
+
+const String &ConfigManager::Domain::get(const String &key) const {
+	Node *node = findNode(_root, key);
+	return node ? node->_value : String::emptyString;
+}
+
+void ConfigManager::Domain::setDomainComment(const String &comment) {
+	_domainComment = comment;
+}
+const String &ConfigManager::Domain::getDomainComment() const {
+	return _domainComment;
+}
+
+void ConfigManager::Domain::setKVComment(const String &key, const String &comment) {
+	_keyValueComments[key] = comment;
+}
+const String &ConfigManager::Domain::getKVComment(const String &key) const {
+	return _keyValueComments[key];
+}
+bool ConfigManager::Domain::hasKVComment(const String &key) const {
+	return _keyValueComments.contains(key);
+}
+
 }	// End of namespace Common





More information about the Scummvm-git-logs mailing list