lib/tracy/src/cli/args/scalar.zig

daab053ee43316e1809a84551d573ddd1e5bf3d2

 1 const std = @import("std");
 2 
 3 pub fn parsePositiveUsize(text: []const u8) !usize {
 4     const value = try parseUsize(text);
 5     if (value == 0) return error.InvalidArguments;
 6     return value;
 7 }
 8 
 9 pub fn parseUsize(text: []const u8) !usize {
10     return std.fmt.parseUnsigned(usize, text, 10) catch error.InvalidArguments;
11 }
12 
13 pub fn parseU64(text: []const u8) !u64 {
14     return std.fmt.parseUnsigned(u64, text, 10) catch error.InvalidArguments;
15 }
16 
17 pub fn parsePositiveU64(text: []const u8) !u64 {
18     const value = try parseU64(text);
19     if (value == 0) return error.InvalidArguments;
20     return value;
21 }
22 
23 pub fn parseAddress(text: []const u8) !u64 {
24     if (std.mem.startsWith(u8, text, "0x") or std.mem.startsWith(u8, text, "0X")) {
25         return std.fmt.parseUnsigned(u64, text[2..], 16) catch error.InvalidArguments;
26     }
27     return parseU64(text);
28 }