authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2021-10-28 04:00:16 -07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2021-10-28 04:00:16 -07:00
log291b6a07014a8e7b144643495c4425f6b472baf5
tree147dba845abe510bf6f04dc8a80633be97e3d826
parentdd3c55d7db9340f09256a5f5515a86ecfcedb991

remove global allocator from u.detect_pkgname and u.detct_mainfile


3 files changed, 11 insertions(+), 12 deletions(-)

src/cmd/init.zig+2-2
...@@ -30,14 +30,14 @@ pub fn execute(args: [][]u8) !void {...@@ -30,14 +30,14 @@ pub fn execute(args: [][]u8) !void {
3030
31 const ptype = try inquirer.forEnum(stdout, stdin, "Are you making an application or a library?", gpa, enum { exe, lib }, null);31 const ptype = try inquirer.forEnum(stdout, stdin, "Are you making an application or a library?", gpa, enum { exe, lib }, null);
3232
33 const name = try inquirer.forString(stdout, stdin, "package name:", gpa, u.detect_pkgname(u.try_index(string, args, 0, ""), "") catch |err| switch (err) {33 const name = try inquirer.forString(stdout, stdin, "package name:", gpa, u.detect_pkgname(gpa, u.try_index(string, args, 0, ""), "") catch |err| switch (err) {
34 error.NoBuildZig => {34 error.NoBuildZig => {
35 u.fail("init requires a build.zig file", .{});35 u.fail("init requires a build.zig file", .{});
36 },36 },
37 else => return err,37 else => return err,
38 });38 });
3939
40 const entry = if (ptype == .lib) try inquirer.forString(stdout, stdin, "package entry point:", gpa, u.detct_mainfile(u.try_index(string, args, 1, ""), null, name) catch |err| switch (err) {40 const entry = if (ptype == .lib) try inquirer.forString(stdout, stdin, "package entry point:", gpa, u.detct_mainfile(gpa, u.try_index(string, args, 1, ""), null, name) catch |err| switch (err) {
41 error.CantFindMain => null,41 error.CantFindMain => null,
42 else => return err,42 else => return err,
43 }) else null;43 }) else null;
src/common.zig+2-2
...@@ -243,8 +243,8 @@ pub fn get_module_from_dep(d: *zigmod.Dep, cachepath: string, options: *CollectO...@@ -243,8 +243,8 @@ pub fn get_module_from_dep(d: *zigmod.Dep, cachepath: string, options: *CollectO
243 return null;243 return null;
244 }244 }
245 const moddirO = try std.fs.cwd().openDir(modpath, .{});245 const moddirO = try std.fs.cwd().openDir(modpath, .{});
246 const tryname = try u.detect_pkgname("", modpath);246 const tryname = try u.detect_pkgname(gpa, "", modpath);
247 const trymain = u.detct_mainfile("", moddirO, tryname) catch |err| switch (err) {247 const trymain = u.detct_mainfile(gpa, "", moddirO, tryname) catch |err| switch (err) {
248 error.CantFindMain => null,248 error.CantFindMain => null,
249 else => return err,249 else => return err,
250 };250 };
src/util/funcs.zig+7-8
...@@ -1,6 +1,5 @@...@@ -1,6 +1,5 @@
1const std = @import("std");1const std = @import("std");
2const string = []const u8;2const string = []const u8;
3const gpa = std.heap.c_allocator;
43
5const u = @import("index.zig");4const u = @import("index.zig");
65
...@@ -249,7 +248,7 @@ pub fn slice(comptime T: type, input: []const T, from: usize, to: usize) []const...@@ -249,7 +248,7 @@ pub fn slice(comptime T: type, input: []const T, from: usize, to: usize) []const
249 return input[f..t];248 return input[f..t];
250}249}
251250
252pub fn detect_pkgname(override: string, dir: string) !string {251pub fn detect_pkgname(alloc: *std.mem.Allocator, override: string, dir: string) !string {
253 if (override.len > 0) {252 if (override.len > 0) {
254 return override;253 return override;
255 }254 }
...@@ -257,15 +256,15 @@ pub fn detect_pkgname(override: string, dir: string) !string {...@@ -257,15 +256,15 @@ pub fn detect_pkgname(override: string, dir: string) !string {
257 if (!(try does_file_exist(dirO, "build.zig"))) {256 if (!(try does_file_exist(dirO, "build.zig"))) {
258 return error.NoBuildZig;257 return error.NoBuildZig;
259 }258 }
260 const dpath = try std.fs.realpathAlloc(gpa, try std.mem.concat(gpa, u8, &.{ dir, "build.zig" }));259 const dpath = try std.fs.realpathAlloc(alloc, try std.mem.concat(alloc, u8, &.{ dir, "build.zig" }));
261 const splitP = try split(gpa, dpath, std.fs.path.sep_str);260 const splitP = try split(alloc, dpath, std.fs.path.sep_str);
262 var name = splitP[splitP.len - 2];261 var name = splitP[splitP.len - 2];
263 name = trim_prefix(name, "zig-");262 name = trim_prefix(name, "zig-");
264 assert(name.len > 0, "package name must not be an empty string", .{});263 assert(name.len > 0, "package name must not be an empty string", .{});
265 return name;264 return name;
266}265}
267266
268pub fn detct_mainfile(override: string, dir: ?std.fs.Dir, name: string) !string {267pub fn detct_mainfile(alloc: *std.mem.Allocator, override: string, dir: ?std.fs.Dir, name: string) !string {
269 if (override.len > 0) {268 if (override.len > 0) {
270 if (try does_file_exist(dir, override)) {269 if (try does_file_exist(dir, override)) {
271 if (std.mem.endsWith(u8, override, ".zig")) {270 if (std.mem.endsWith(u8, override, ".zig")) {
...@@ -273,14 +272,14 @@ pub fn detct_mainfile(override: string, dir: ?std.fs.Dir, name: string) !string...@@ -273,14 +272,14 @@ pub fn detct_mainfile(override: string, dir: ?std.fs.Dir, name: string) !string
273 }272 }
274 }273 }
275 }274 }
276 const namedotzig = try std.mem.concat(gpa, u8, &.{ name, ".zig" });275 const namedotzig = try std.mem.concat(alloc, u8, &.{ name, ".zig" });
277 if (try does_file_exist(dir, namedotzig)) {276 if (try does_file_exist(dir, namedotzig)) {
278 return namedotzig;277 return namedotzig;
279 }278 }
280 if (try does_file_exist(dir, try std.fs.path.join(gpa, &.{ "src", "lib.zig" }))) {279 if (try does_file_exist(dir, try std.fs.path.join(alloc, &.{ "src", "lib.zig" }))) {
281 return "src/lib.zig";280 return "src/lib.zig";
282 }281 }
283 if (try does_file_exist(dir, try std.fs.path.join(gpa, &.{ "src", "main.zig" }))) {282 if (try does_file_exist(dir, try std.fs.path.join(alloc, &.{ "src", "main.zig" }))) {
284 return "src/main.zig";283 return "src/main.zig";
285 }284 }
286 return error.CantFindMain;285 return error.CantFindMain;