|
@@ -201,7 +201,7 @@ public class FileHandle : ILuaUserData
|
|
|
? context.GetArgument<string>(1)
|
|
? context.GetArgument<string>(1)
|
|
|
: "cur";
|
|
: "cur";
|
|
|
var offset = context.HasArgument(2)
|
|
var offset = context.HasArgument(2)
|
|
|
- ? context.GetArgument<double>(2)
|
|
|
|
|
|
|
+ ? context.GetArgument<int>(2)
|
|
|
: 0;
|
|
: 0;
|
|
|
|
|
|
|
|
if (whence is not ("set" or "cur" or "end"))
|
|
if (whence is not ("set" or "cur" or "end"))
|
|
@@ -209,11 +209,6 @@ public class FileHandle : ILuaUserData
|
|
|
throw new LuaRuntimeException(context.State.GetTraceback(), $"bad argument #2 to 'seek' (invalid option '{whence}')");
|
|
throw new LuaRuntimeException(context.State.GetTraceback(), $"bad argument #2 to 'seek' (invalid option '{whence}')");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if (!MathEx.IsInteger(offset))
|
|
|
|
|
- {
|
|
|
|
|
- throw new LuaRuntimeException(context.State.GetTraceback(), $"bad argument #3 to 'seek' (number has no integer representation)");
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
try
|
|
try
|
|
|
{
|
|
{
|
|
|
buffer.Span[0] = file.Seek(whence, (long)offset);
|
|
buffer.Span[0] = file.Seek(whence, (long)offset);
|
|
@@ -233,15 +228,10 @@ public class FileHandle : ILuaUserData
|
|
|
var file = context.GetArgument<FileHandle>(0);
|
|
var file = context.GetArgument<FileHandle>(0);
|
|
|
var mode = context.GetArgument<string>(1);
|
|
var mode = context.GetArgument<string>(1);
|
|
|
var size = context.HasArgument(2)
|
|
var size = context.HasArgument(2)
|
|
|
- ? context.GetArgument<double>(2)
|
|
|
|
|
|
|
+ ? context.GetArgument<int>(2)
|
|
|
: -1;
|
|
: -1;
|
|
|
|
|
|
|
|
- if (!MathEx.IsInteger(size))
|
|
|
|
|
- {
|
|
|
|
|
- throw new LuaRuntimeException(context.State.GetTraceback(), $"bad argument #3 to 'setvbuf' (number has no integer representation)");
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- file.SetVBuf(mode, (int)size);
|
|
|
|
|
|
|
+ file.SetVBuf(mode, size);
|
|
|
|
|
|
|
|
buffer.Span[0] = true;
|
|
buffer.Span[0] = true;
|
|
|
return new(1);
|
|
return new(1);
|