Compare commits

..

No commits in common. "e6563fbd8bdbe6243185089e23c5c0d5a628a1e8" and "50f703d9b3ca940aa8068ba92696a7fc97ea0467" have entirely different histories.

1 changed files with 3 additions and 9 deletions

View File

@ -42,7 +42,7 @@ func SetField(rtm *rt.Runtime, module *rt.Table, field string, value rt.Value, d
// DoString runs the code string in the Lua runtime. // DoString runs the code string in the Lua runtime.
func DoString(rtm *rt.Runtime, code string) error { func DoString(rtm *rt.Runtime, code string) error {
chunk, err := rtm.CompileAndLoadLuaChunk("<string>", []byte(code), rt.TableValue(rtm.GlobalEnv())) chunk, err := rtm.CompileAndLoadLuaChunk("", []byte(code), rt.TableValue(rtm.GlobalEnv()))
if chunk != nil { if chunk != nil {
_, err = rt.Call1(rtm.MainThread(), rt.FunctionValue(chunk)) _, err = rt.Call1(rtm.MainThread(), rt.FunctionValue(chunk))
} }
@ -71,16 +71,15 @@ func DoFile(rtm *rt.Runtime, path string) error {
return err return err
} }
var buf []byte
if c == byte('#') { if c == byte('#') {
// shebang - skip that line // shebang - skip that line
_, err := reader.ReadBytes('\n') _, err := reader.ReadBytes('\n')
if err != nil && err != io.EOF { if err != nil && err != io.EOF {
return err return err
} }
buf = []byte{'\n'}
} }
var buf []byte
for { for {
line, err := reader.ReadBytes('\n') line, err := reader.ReadBytes('\n')
if err != nil { if err != nil {
@ -93,12 +92,7 @@ func DoFile(rtm *rt.Runtime, path string) error {
buf = append(buf, line...) buf = append(buf, line...)
} }
chunk, err := rtm.CompileAndLoadLuaChunk(path, buf, rt.TableValue(rtm.GlobalEnv())) return DoString(rtm, string(buf))
if chunk != nil {
_, err = rt.Call1(rtm.MainThread(), rt.FunctionValue(chunk))
}
return err
} }
// HandleStrCallback handles function parameters for Go functions which take // HandleStrCallback handles function parameters for Go functions which take