os.mkdir(path, perm) lua function added
This commit is contained in:
		@@ -546,6 +546,7 @@ func Install(packagepath string, serial uint) error {
 | 
			
		||||
	osObject.RawSetString("rename", L.NewFunction(internal.SafeRename))
 | 
			
		||||
	osObject.RawSetString("copy", L.NewFunction(internal.SafeCopy))
 | 
			
		||||
	osObject.RawSetString("symlink", L.NewFunction(internal.SymbolicLua))
 | 
			
		||||
	osObject.RawSetString("mkdir", L.NewFunction(internal.LMkdir))
 | 
			
		||||
 | 
			
		||||
	ioObject.RawSetString("input", lua.LNil)
 | 
			
		||||
	ioObject.RawSetString("output", lua.LNil)
 | 
			
		||||
@@ -1196,6 +1197,7 @@ func Unninstall(realname string) error {
 | 
			
		||||
	osObject.RawSetString("rename", L.NewFunction(internal.SafeRename))
 | 
			
		||||
	osObject.RawSetString("copy", L.NewFunction(internal.SafeCopy))
 | 
			
		||||
	osObject.RawSetString("symlink", L.NewFunction(internal.SymbolicLua))
 | 
			
		||||
	osObject.RawSetString("mkdir", L.NewFunction(internal.LMkdir))
 | 
			
		||||
 | 
			
		||||
	ioObject.RawSetString("input", lua.LNil)
 | 
			
		||||
	ioObject.RawSetString("output", lua.LNil)
 | 
			
		||||
@@ -1474,6 +1476,7 @@ func Upgrade(packagepath string, og_realname string, serial uint) error {
 | 
			
		||||
	osObject.RawSetString("rename", L.NewFunction(internal.SafeRename))
 | 
			
		||||
	osObject.RawSetString("copy", L.NewFunction(internal.SafeCopy))
 | 
			
		||||
	osObject.RawSetString("symlink", L.NewFunction(internal.SymbolicLua))
 | 
			
		||||
	osObject.RawSetString("mkdir", L.NewFunction(internal.LMkdir))
 | 
			
		||||
 | 
			
		||||
	ioObject.RawSetString("input", lua.LNil)
 | 
			
		||||
	ioObject.RawSetString("output", lua.LNil)
 | 
			
		||||
 
 | 
			
		||||
@@ -366,3 +366,22 @@ func Ljoin(L *lua.LState) int {
 | 
			
		||||
	L.Push(lua.LString(result))
 | 
			
		||||
	return 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func LMkdir(L *lua.LState) int {
 | 
			
		||||
	path := L.CheckString(1)
 | 
			
		||||
	perm := L.CheckInt(2)
 | 
			
		||||
 | 
			
		||||
	if !IsSafe(path) {
 | 
			
		||||
		L.Push(lua.LFalse)
 | 
			
		||||
		L.Push(lua.LString("[packets] unsafe filepath\n"))
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err := os.MkdirAll(path, os.FileMode(perm)); err != nil {
 | 
			
		||||
		L.Push(lua.LFalse)
 | 
			
		||||
		L.Push(lua.LString("[packets] mkdir failed\n" + err.Error()))
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	L.Push(lua.LTrue)
 | 
			
		||||
	L.Push(lua.LNil)
 | 
			
		||||
	return 2
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user