From 98bfeb385be3549fcf9e708cbe1aa4d600fcf97f Mon Sep 17 00:00:00 2001 From: KikooDX Date: Wed, 24 Feb 2021 09:30:48 +0100 Subject: [PATCH] Open file in relative or absolute path. Delete useless conf code. --- sample.kble | 0 src/conf.zig | 21 --------------------- src/level.zig | 18 ++++++++++++++++++ src/main.zig | 3 --- 4 files changed, 18 insertions(+), 24 deletions(-) create mode 100644 sample.kble diff --git a/sample.kble b/sample.kble new file mode 100644 index 0000000..e69de29 diff --git a/src/conf.zig b/src/conf.zig index 1bd2d5b..87b77b7 100644 --- a/src/conf.zig +++ b/src/conf.zig @@ -12,24 +12,3 @@ pub const arg_type: type = u16; pub const mouse_enabled: bool = true; pub const mouse_left_btn: c_int = 0; pub const mouse_right_btn: c_int = 1; - -/// Read /etc/kble.conf and execute all bytes as keypresses. -pub fn source_config() void { - // Open file in read mode. - const file: std.fs.File = std.fs.openFileAbsolute("/etc/kble.conf", std.fs.File.OpenFlags{ - .read = true, - .write = false, - }) catch { - std.log.err("Can't open /etc/kble.conf", .{}); - return; - }; - // Get reader. - const reader: std.fs.File.Reader = file.reader(); - // Read all bytes. - while (true) { - const byte: u8 = reader.readByte() catch { - break; - }; - std.log.info("{}", .{byte}); - } -} diff --git a/src/level.zig b/src/level.zig index 6a5416e..eba4626 100644 --- a/src/level.zig +++ b/src/level.zig @@ -58,6 +58,15 @@ pub fn init_load(allocator: *std.mem.Allocator, kble_file_path: []const u8) !Sel .selection = undefined, }; + // Open directory. + var dir: std.fs.Dir = std.fs.cwd(); + // Open file in read mode. + const file: std.fs.File = try dir.openFile(kble_file_path, std.fs.File.OpenFlags{ + .read = true, + .write = false, + }); + defer file.close(); + return self; } @@ -207,3 +216,12 @@ test "select rectangle area" { expect(level.selection[31]); expect(!level.selection[245]); } + +test "load level from existing file" { + var arena = std.heap.ArenaAllocator.init(std.heap.page_allocator); + defer arena.deinit(); + const allocator = &arena.allocator; + + var level: Self = try Self.init_load(allocator, "sample.kble"); + //defer level.deinit(allocator); +} diff --git a/src/main.zig b/src/main.zig index 31488fc..43429d0 100644 --- a/src/main.zig +++ b/src/main.zig @@ -89,9 +89,6 @@ pub fn main() void { bindings['v'] = &ActionsDef.mode_rectangle; bindings['c'] = &ActionsDef.mode_camera; - // Load config. - conf.source_config(); - // Create input buffer. const input_buffer_len = 255; var input_buffer: [input_buffer_len]u32 = undefined;