diff options
author | 2021-10-08 21:10:40 -0700 | |
---|---|---|
committer | 2021-10-08 21:10:40 -0700 | |
commit | 7e2c297013e89e26da2db27d7edab886761c203e (patch) | |
tree | 22f23c5d8a2e5d86b7f3016ef0f42ec0079226af /src/env_loader.zig | |
parent | f10301884246003573a3aff123e5921e927379a5 (diff) | |
download | bun-7e2c297013e89e26da2db27d7edab886761c203e.tar.gz bun-7e2c297013e89e26da2db27d7edab886761c203e.tar.zst bun-7e2c297013e89e26da2db27d7edab886761c203e.zip |
Wrap filesystem access
Diffstat (limited to 'src/env_loader.zig')
-rw-r--r-- | src/env_loader.zig | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/env_loader.zig b/src/env_loader.zig index 6c35157ce..61fddf906 100644 --- a/src/env_loader.zig +++ b/src/env_loader.zig @@ -3,8 +3,10 @@ const logger = @import("./logger.zig"); usingnamespace @import("./global.zig"); const CodepointIterator = @import("./string_immutable.zig").CodepointIterator; const Analytics = @import("./analytics/analytics_thread.zig"); -const Fs = @import("./fs.zig"); const Api = @import("./api/schema.zig").Api; +const FileSystem = @import("./fs.zig").FileSystem; +const Dir = @import("./fs.zig").Dir; +const DirEntry = @import("./fs.zig").DirEntry; const Variable = struct { key: string, value: string, @@ -483,12 +485,12 @@ pub const Loader = struct { // .env goes last pub fn load( this: *Loader, - fs: *Fs.RealFS, - dir: *Fs.DirEntry, + fs: *FileSystem, + dir: *DirEntry, comptime development: bool, ) !void { const start = std.time.nanoTimestamp(); - var dir_handle: std.fs.Dir = std.fs.cwd(); + const dir_handle = FileSystem.cwd(); var can_auto_close = false; if (dir.hasComptimeQuery(".env.local")) { @@ -557,7 +559,7 @@ pub const Loader = struct { Output.flush(); } - pub fn loadEnvFile(this: *Loader, fs: *Fs.RealFS, dir: std.fs.Dir, comptime base: string, comptime override: bool) !void { + pub fn loadEnvFile(this: *Loader, fs: *FileSystem, dir: Dir, comptime base: string, comptime override: bool) !void { if (@field(this, base) != null) { return; } @@ -574,7 +576,6 @@ pub const Loader = struct { }, } }; - Fs.FileSystem.setMaxFd(file.handle); defer { if (fs.needToCloseFiles()) { @@ -582,13 +583,13 @@ pub const Loader = struct { } } - const stat = try file.stat(); - if (stat.size == 0) { + const size = try file.getEndPos(); + if (size == 0) { @field(this, base) = logger.Source.initPathString(base, ""); return; } - var buf = try this.allocator.allocSentinel(u8, stat.size, 0); + var buf = try this.allocator.allocSentinel(u8, size, 0); errdefer this.allocator.free(buf); var contents = try file.readAll(buf); // always sentinel |