Browse Source

fix: update chunk name handling in **File** methods to use full path

Akeit0 7 months ago
parent
commit
a449410e12
2 changed files with 3 additions and 3 deletions
  1. 2 2
      src/Lua/LuaThreadExtensions.cs
  2. 1 1
      src/Lua/Standard/BasicLibrary.cs

+ 2 - 2
src/Lua/LuaThreadExtensions.cs

@@ -35,7 +35,7 @@ public static class LuaThreadExtensions
     public static async ValueTask<int> DoFileAsync(this LuaThread thread, string path, Memory<LuaValue> buffer, CancellationToken cancellationToken = default)
     public static async ValueTask<int> DoFileAsync(this LuaThread thread, string path, Memory<LuaValue> buffer, CancellationToken cancellationToken = default)
     {
     {
         var bytes = await File.ReadAllBytesAsync(path, cancellationToken);
         var bytes = await File.ReadAllBytesAsync(path, cancellationToken);
-        var fileName = "@" + Path.GetFileName(path);
+        var fileName = "@" + path;
         var closure = thread.State.Load(bytes, fileName);
         var closure = thread.State.Load(bytes, fileName);
         var count = await thread.RunAsync(closure, cancellationToken);
         var count = await thread.RunAsync(closure, cancellationToken);
         using var results = thread.ReadReturnValues(count);
         using var results = thread.ReadReturnValues(count);
@@ -46,7 +46,7 @@ public static class LuaThreadExtensions
     public static async ValueTask<LuaValue[]> DoFileAsync(this LuaThread thread, string path, CancellationToken cancellationToken = default)
     public static async ValueTask<LuaValue[]> DoFileAsync(this LuaThread thread, string path, CancellationToken cancellationToken = default)
     {
     {
         var bytes = await File.ReadAllBytesAsync(path, cancellationToken);
         var bytes = await File.ReadAllBytesAsync(path, cancellationToken);
-        var fileName = "@" + Path.GetFileName(path);
+        var fileName = "@" + path;
         var closure = thread.State.Load(bytes, fileName);
         var closure = thread.State.Load(bytes, fileName);
         var count = await thread.RunAsync(closure, cancellationToken);
         var count = await thread.RunAsync(closure, cancellationToken);
         using var results = thread.ReadReturnValues(count);
         using var results = thread.ReadReturnValues(count);

+ 1 - 1
src/Lua/Standard/BasicLibrary.cs

@@ -89,7 +89,7 @@ public sealed class BasicLibrary
 
 
         // do not use LuaState.DoFileAsync as it uses the newExecutionContext
         // do not use LuaState.DoFileAsync as it uses the newExecutionContext
         var bytes = await File.ReadAllBytesAsync(arg0, cancellationToken);
         var bytes = await File.ReadAllBytesAsync(arg0, cancellationToken);
-        var fileName = "@" + Path.GetFileName(arg0);
+        var fileName = "@" + arg0;
 
 
         return await context.State.Load(bytes, fileName).InvokeAsync(context, cancellationToken);
         return await context.State.Load(bytes, fileName).InvokeAsync(context, cancellationToken);
     }
     }