From 7f7c2ac6f533c700cec1127941155e28f97809e5 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Sat, 24 Jul 2021 02:47:28 -0700 Subject: [PATCH] util/funcs- add missing helpers for diff parsing --- src/util/funcs.zig | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/util/funcs.zig b/src/util/funcs.zig index c65173dd38e05c998bd04d4bdae7eb4a6f2974a8..fb6ae10a542cc97f21442cad28e7929c73a0a272 100644 --- a/src/util/funcs.zig +++ b/src/util/funcs.zig @@ -305,3 +305,21 @@ pub fn detct_mainfile(override: []const u8, dir: ?std.fs.Dir, name: []const u8) } return error.CantFindMain; } + +pub fn indexOfN(haystack: []const u8, needle: u8, n: usize) ?usize { + var i: usize = 0; + var c: usize = 0; + while (c < n) { + i = indexOfAfter(haystack, needle, i) orelse return null; + c += 1; + } + return i; +} + +pub fn indexOfAfter(haystack: []const u8, needle: u8, after: usize) ?usize { + for (haystack) |c, i| { + if (i <= after) continue; + if (c == needle) return i; + } + return null; +} -- 2.54.0