Changeset - r17409:e706ee6e0023
[Not reviewed]
master
0 2 0
alberth - 13 years ago 2011-03-03 20:55:06
alberth@openttd.org
(svn r22169) -Add: Add parameter to disable automatic group creation in IniLoadFile::GetGroup().
2 files changed with 9 insertions and 6 deletions:
0 comments (0 inline, 0 general)
src/ini_load.cpp
Show inline comments
 
@@ -132,13 +132,14 @@ IniLoadFile::~IniLoadFile()
 
}
 

	
 
/**
 
 * Get the group with the given name, and if it doesn't exist
 
 * create a new group.
 
 * Get the group with the given name. If it doesn't exist
 
 * and \a create_new is \c true create a new group.
 
 * @param name name of the group to find.
 
 * @param len  the maximum length of said name.
 
 * @return the requested group.
 
 * @param len  the maximum length of said name (\c 0 means length of the string).
 
 * @param create_new Allow creation of group if it does not exist.
 
 * @return The requested group if it exists or was created, else \c NULL.
 
 */
 
IniGroup *IniLoadFile::GetGroup(const char *name, size_t len)
 
IniGroup *IniLoadFile::GetGroup(const char *name, size_t len, bool create_new)
 
{
 
	if (len == 0) len = strlen(name);
 

	
 
@@ -149,6 +150,8 @@ IniGroup *IniLoadFile::GetGroup(const ch
 
		}
 
	}
 

	
 
	if (!create_new) return NULL;
 

	
 
	/* otherwise make a new one */
 
	IniGroup *group = new IniGroup(this, name, len);
 
	group->comment = strdup("\n");
src/ini_type.h
Show inline comments
 
@@ -57,7 +57,7 @@ struct IniLoadFile {
 
	IniLoadFile(const char * const *list_group_names = NULL);
 
	virtual ~IniLoadFile();
 

	
 
	IniGroup *GetGroup(const char *name, size_t len = 0);
 
	IniGroup *GetGroup(const char *name, size_t len = 0, bool create_new = true);
 
	void RemoveGroup(const char *name);
 

	
 
	void LoadFromDisk(const char *filename);
0 comments (0 inline, 0 general)