aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/vfs.zig10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/lib/vfs.zig b/src/lib/vfs.zig
index 3a1fbff..6a09d58 100644
--- a/src/lib/vfs.zig
+++ b/src/lib/vfs.zig
@@ -8,7 +8,7 @@ const sysexchange = @import("sysexchange.zig");
const mem = std.mem;
-var root: Tree = undefined;
+var root: Node = .{ .data = .{ .name = "", .resource = .{ .dir = undefined } } };
pub const Error = error{
NotFound,
@@ -163,7 +163,7 @@ pub const UserInfo = union(enum) {
};
pub fn init(allocator: mem.Allocator) void {
- root = Tree.init(allocator);
+ root.data.resource.dir = Tree.init(allocator);
}
pub fn find(path: []const u8) ?*Node {
@@ -171,7 +171,7 @@ pub fn find(path: []const u8) ?*Node {
// Error set is empty.
var it = std.fs.path.ComponentIterator(.posix, u8).init(path) catch unreachable;
- var tree = root;
+ var tree = root.data.resource.dir;
while (it.next()) |component| {
const node = tree.find(component.name) orelse return null;
@@ -184,8 +184,8 @@ pub fn find(path: []const u8) ?*Node {
}
}
- // Only reached if path has no components.
- return null;
+ // No components, this is the root directory (/).
+ return &root;
}
pub fn provideResource(path: []const u8, resource: Resource) !void {