git.lucas.co / cce-compositor
Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git

commit62dcc3eba03178c05826fdcad3e6142c2757cbdd
parent6ee7101e2d
authorIsaac Freund <[email protected]>
date2021-12-15 17:09
common/flags: make argFlag() return a slice

We always pass the result of this to mem.span() currently, no need for
the code duplication.

 common/flags.zig   |  6 ++++--
 river/main.zig     |  4 ++--
 rivertile/main.zig | 10 +++++-----
 3 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/common/flags.zig b/common/flags.zig
index 4fb082c..88cac2d 100644
--- a/common/flags.zig
+++ b/common/flags.zig
@@ -63,9 +63,11 @@ pub fn ParseResult(comptime flags: []const Flag) type {
             unreachable; // Invalid flag_name
         }
 
-        pub fn argFlag(self: Self, flag_name: [*:0]const u8) ?[*:0]const u8 {
+        pub fn argFlag(self: Self, flag_name: [*:0]const u8) ?[:0]const u8 {
             for (self.flag_data) |flag_data| {
-                if (cstr.cmp(flag_data.name, flag_name) == 0) return flag_data.value.arg;
+                if (cstr.cmp(flag_data.name, flag_name) == 0) {
+                    return std.mem.span(flag_data.value.arg);
+                }
             }
             unreachable; // Invalid flag_name
         }
diff --git a/river/main.zig b/river/main.zig
index e13315d..cef7852 100644
--- a/river/main.zig
+++ b/river/main.zig
@@ -67,7 +67,7 @@ pub fn main() anyerror!void {
         os.exit(0);
     }
     if (result.argFlag("-log-level")) |level_str| {
-        const level = std.meta.stringToEnum(LogLevel, std.mem.span(level_str)) orelse {
+        const level = std.meta.stringToEnum(LogLevel, level_str) orelse {
             std.log.err("invalid log level '{s}'", .{level_str});
             try io.getStdErr().writeAll(usage);
             os.exit(1);
@@ -81,7 +81,7 @@ pub fn main() anyerror!void {
     }
     const startup_command = blk: {
         if (result.argFlag("-c")) |command| {
-            break :blk try util.gpa.dupeZ(u8, std.mem.span(command));
+            break :blk try util.gpa.dupeZ(u8, command);
         } else {
             break :blk try defaultInitPath();
         }
diff --git a/rivertile/main.zig b/rivertile/main.zig
index 9a8b2f0..ed794da 100644
--- a/rivertile/main.zig
+++ b/rivertile/main.zig
@@ -336,23 +336,23 @@ pub fn main() !void {
         os.exit(0);
     }
     if (result.argFlag("-view-padding")) |raw| {
-        view_padding = std.fmt.parseUnsigned(u32, mem.span(raw), 10) catch
+        view_padding = std.fmt.parseUnsigned(u32, raw, 10) catch
             fatalPrintUsage("invalid value '{s}' provided to -view-padding", .{raw});
     }
     if (result.argFlag("-outer-padding")) |raw| {
-        outer_padding = std.fmt.parseUnsigned(u32, mem.span(raw), 10) catch
+        outer_padding = std.fmt.parseUnsigned(u32, raw, 10) catch
             fatalPrintUsage("invalid value '{s}' provided to -outer-padding", .{raw});
     }
     if (result.argFlag("-main-location")) |raw| {
-        default_main_location = std.meta.stringToEnum(Location, mem.span(raw)) orelse
+        default_main_location = std.meta.stringToEnum(Location, raw) orelse
             fatalPrintUsage("invalid value '{s}' provided to -main-location", .{raw});
     }
     if (result.argFlag("-main-count")) |raw| {
-        default_main_count = std.fmt.parseUnsigned(u32, mem.span(raw), 10) catch
+        default_main_count = std.fmt.parseUnsigned(u32, raw, 10) catch
             fatalPrintUsage("invalid value '{s}' provided to -main-count", .{raw});
     }
     if (result.argFlag("-main-ratio")) |raw| {
-        default_main_ratio = std.fmt.parseFloat(f64, mem.span(raw)) catch
+        default_main_ratio = std.fmt.parseFloat(f64, raw) catch
             fatalPrintUsage("invalid value '{s}' provided to -main-ratio", .{raw});
     }