Skip to content

Commit 9271488

Browse files
committed
Changed KeyValues.load_from_file() to a static method
1 parent 4e0a1f1 commit 9271488

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

src/core/modules/keyvalues/keyvalues.h

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,15 @@ class KeyValuesExt
106106
static void SetBool(KeyValues* pKeyValues, const char * szName, bool bValue)
107107
{ pKeyValues->SetInt(szName, bValue); }
108108

109-
static bool LoadFromFile(KeyValues* pKeyValues, const char * szFile)
110-
{ return pKeyValues->LoadFromFile(filesystem, szFile); }
109+
static boost::shared_ptr<KeyValues> LoadFromFile(const char * szFile)
110+
{
111+
KeyValues* pKeyValues = new KeyValues("");
112+
if (!pKeyValues->LoadFromFile(filesystem, szFile)) {
113+
pKeyValues->deleteThis();
114+
return NULL;
115+
}
116+
return boost::shared_ptr<KeyValues>(pKeyValues, &__del__);
117+
}
111118

112119
static bool SaveToFile(KeyValues* pKeyValues, const char * szFile)
113120
{ return pKeyValues->SaveToFile(filesystem, szFile); }

src/core/modules/keyvalues/keyvalues_wrap.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,9 @@ void export_keyvalues(scope _keyvalues)
8585

8686
.def("load_from_file",
8787
&KeyValuesExt::LoadFromFile,
88-
"Loads KeyValues data from a file into this KeyValues instance.",
88+
"Load KeyValues data from a file and return a new KeyValues instance on success.",
8989
args("file_name")
90-
)
90+
).staticmethod("load_from_file")
9191

9292
.def("save_to_file",
9393
&KeyValuesExt::SaveToFile,

0 commit comments

Comments
 (0)