From 0f4f337b97136536157fd06be77eb61dfb870aba Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Thu, 28 Oct 2021 03:35:09 -0700 Subject: [PATCH] remove global allocator from u.split --- src/common.zig | 2 +- src/util/funcs.zig | 7 ++++--- src/util/modfile.zig | 4 ++-- src/util/yaml.zig | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/common.zig b/src/common.zig index e60c7872fdbfa841c54a6594b3adb0aec812676b..c36b6415b4f16484dbe8d718a152983f60eab505 100644 --- a/src/common.zig +++ b/src/common.zig @@ -174,7 +174,7 @@ pub fn get_modpath(cachepath: string, d: zigmod.Dep, options: *CollectOptions) ! if (try u.does_folder_exist(pv)) { return pv; } - const file_name = try u.last(try u.split(d.path, "/")); + const file_name = try u.last(try u.split(gpa, d.path, "/")); if (d.version.len > 0) { if (try u.does_folder_exist(pv)) { return pv; diff --git a/src/util/funcs.zig b/src/util/funcs.zig index 630ec7f4b2c48b2c83f3ba0ae63c149c4db7639a..04c8463f47ffd6da876aa74e25d14ebd647c522a 100644 --- a/src/util/funcs.zig +++ b/src/util/funcs.zig @@ -38,9 +38,10 @@ pub fn try_index(comptime T: type, array: []T, n: usize, def: T) T { return array[n]; } -pub fn split(in: string, delim: string) ![]string { - var list = std.ArrayList(string).init(gpa); +pub fn split(alloc: *std.mem.Allocator, in: string, delim: string) ![]string { + var list = std.ArrayList(string).init(alloc); defer list.deinit(); + var iter = std.mem.split(u8, in, delim); while (iter.next()) |str| { try list.append(str); @@ -267,7 +268,7 @@ pub fn detect_pkgname(override: string, dir: string) !string { return error.NoBuildZig; } const dpath = try std.fs.realpathAlloc(gpa, try std.mem.concat(gpa, u8, &.{ dir, "build.zig" })); - const splitP = try split(dpath, std.fs.path.sep_str); + const splitP = try split(gpa, dpath, std.fs.path.sep_str); var name = splitP[splitP.len - 2]; name = trim_prefix(name, "zig-"); assert(name.len > 0, "package name must not be an empty string", .{}); diff --git a/src/util/modfile.zig b/src/util/modfile.zig index 6961648f633887c24e5acc6ffa7f3b0568f89993..ecee6d009659124cca801b3b7ac00dc105aafd08 100644 --- a/src/util/modfile.zig +++ b/src/util/modfile.zig @@ -118,8 +118,8 @@ pub const ModFile = struct { .c_include_dirs = try item.mapping.get_string_array(alloc, "c_include_dirs"), .c_source_flags = try item.mapping.get_string_array(alloc, "c_source_flags"), .c_source_files = try item.mapping.get_string_array(alloc, "c_source_files"), - .only_os = try u.list_remove(try u.split(item.mapping.get_string("only_os"), ","), ""), - .except_os = try u.list_remove(try u.split(item.mapping.get_string("except_os"), ","), ""), + .only_os = try u.list_remove(try u.split(alloc, item.mapping.get_string("only_os"), ","), ""), + .except_os = try u.list_remove(try u.split(alloc, item.mapping.get_string("except_os"), ","), ""), .yaml = item.mapping, .deps = try dep_list_by_name(alloc, item.mapping, "dependencies"), }); diff --git a/src/util/yaml.zig b/src/util/yaml.zig index 2f38ac77ce407c85657fabe12e20c997da9f3640..a10807be1f7fa558115dce542389964cc0e1781f 100644 --- a/src/util/yaml.zig +++ b/src/util/yaml.zig @@ -150,7 +150,7 @@ pub fn parse(alloc: *std.mem.Allocator, input: string) !Document { _ = c.yaml_parser_initialize(&parser); defer c.yaml_parser_delete(&parser); - const lines = try u.split(input, "\n"); + const lines = try u.split(alloc, input, "\n"); _ = c.yaml_parser_set_input_string(&parser, input.ptr, input.len); -- 2.54.0