parent
4bf3b874e3
commit
8d4a87d2c4
@ -253,12 +253,13 @@ static int tolua_InflateString(lua_State * tolua_S)
|
|||||||
|
|
||||||
static int tolua_StringSplit(lua_State * tolua_S)
|
static int tolua_StringSplit(lua_State * tolua_S)
|
||||||
{
|
{
|
||||||
|
// Get the params:
|
||||||
cLuaState LuaState(tolua_S);
|
cLuaState LuaState(tolua_S);
|
||||||
std::string str = (std::string)tolua_tocppstring(LuaState, 1, 0);
|
AString str, delim;
|
||||||
std::string delim = (std::string)tolua_tocppstring(LuaState, 2, 0);
|
LuaState.GetStackValues(1, str, delim);
|
||||||
|
|
||||||
AStringVector Split = StringSplit(str, delim);
|
// Execute and push the result:
|
||||||
LuaState.Push(Split);
|
LuaState.Push(StringSplit(str, delim));
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -472,6 +473,7 @@ cPluginLua * GetLuaPlugin(lua_State * L)
|
|||||||
|
|
||||||
static int tolua_cFile_GetFolderContents(lua_State * tolua_S)
|
static int tolua_cFile_GetFolderContents(lua_State * tolua_S)
|
||||||
{
|
{
|
||||||
|
// Check params:
|
||||||
cLuaState LuaState(tolua_S);
|
cLuaState LuaState(tolua_S);
|
||||||
if (
|
if (
|
||||||
!LuaState.CheckParamUserTable(1, "cFile") ||
|
!LuaState.CheckParamUserTable(1, "cFile") ||
|
||||||
@ -482,10 +484,38 @@ static int tolua_cFile_GetFolderContents(lua_State * tolua_S)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
AString Folder = (AString)tolua_tocppstring(LuaState, 2, 0);
|
// Get params:
|
||||||
|
AString Folder;
|
||||||
|
LuaState.GetStackValues(2, Folder);
|
||||||
|
|
||||||
AStringVector Contents = cFile::GetFolderContents(Folder);
|
// Execute and push result:
|
||||||
LuaState.Push(Contents);
|
LuaState.Push(cFile::GetFolderContents(Folder));
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static int tolua_cFile_ReadWholeFile(lua_State * tolua_S)
|
||||||
|
{
|
||||||
|
// Check params:
|
||||||
|
cLuaState LuaState(tolua_S);
|
||||||
|
if (
|
||||||
|
!LuaState.CheckParamUserTable(1, "cFile") ||
|
||||||
|
!LuaState.CheckParamString (2) ||
|
||||||
|
!LuaState.CheckParamEnd (3)
|
||||||
|
)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get params:
|
||||||
|
AString FileName;
|
||||||
|
LuaState.GetStackValues(2, FileName);
|
||||||
|
|
||||||
|
// Execute and push result:
|
||||||
|
LuaState.Push(cFile::ReadWholeFile(FileName));
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3719,6 +3749,7 @@ void ManualBindings::Bind(lua_State * tolua_S)
|
|||||||
|
|
||||||
tolua_beginmodule(tolua_S, "cFile");
|
tolua_beginmodule(tolua_S, "cFile");
|
||||||
tolua_function(tolua_S, "GetFolderContents", tolua_cFile_GetFolderContents);
|
tolua_function(tolua_S, "GetFolderContents", tolua_cFile_GetFolderContents);
|
||||||
|
tolua_function(tolua_S, "ReadWholeFile", tolua_cFile_ReadWholeFile);
|
||||||
tolua_endmodule(tolua_S);
|
tolua_endmodule(tolua_S);
|
||||||
|
|
||||||
tolua_beginmodule(tolua_S, "cBlockArea");
|
tolua_beginmodule(tolua_S, "cBlockArea");
|
||||||
|
@ -124,9 +124,14 @@ public:
|
|||||||
/** Creates a new folder with the specified name. Returns true if successful. Path may be relative or absolute */
|
/** Creates a new folder with the specified name. Returns true if successful. Path may be relative or absolute */
|
||||||
static bool CreateFolder(const AString & a_FolderPath);
|
static bool CreateFolder(const AString & a_FolderPath);
|
||||||
|
|
||||||
/** Returns the entire contents of the specified file as a string. Returns empty string on error. */
|
// tolua_end
|
||||||
|
|
||||||
|
/** Returns the entire contents of the specified file as a string. Returns empty string on error.
|
||||||
|
Exported manually in ManualBindings.cpp due to #1914 - ToLua code doesn't work well with binary files. */
|
||||||
static AString ReadWholeFile(const AString & a_FileName);
|
static AString ReadWholeFile(const AString & a_FileName);
|
||||||
|
|
||||||
|
// tolua_begin
|
||||||
|
|
||||||
/** Returns a_FileName with its extension changed to a_NewExt.
|
/** Returns a_FileName with its extension changed to a_NewExt.
|
||||||
a_FileName may contain path specification. */
|
a_FileName may contain path specification. */
|
||||||
static AString ChangeFileExt(const AString & a_FileName, const AString & a_NewExt);
|
static AString ChangeFileExt(const AString & a_FileName, const AString & a_NewExt);
|
||||||
|
Loading…
Reference in New Issue
Block a user