diff options
| author | Carl Ã…stholm <carl@astholm.se> | 2025-03-03 22:20:50 +0100 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2025-03-04 02:42:00 -0500 |
| commit | 711b0fef58571761386fd8dcd8b9ea3df2283200 (patch) | |
| tree | 084071b1a4cbb4b23642b92b0b74e35bbba7cb7f /src/main.zig | |
| parent | 13757aacc7eaf20979c34347ee269b0333700c48 (diff) | |
| download | zig-711b0fef58571761386fd8dcd8b9ea3df2283200.tar.gz zig-711b0fef58571761386fd8dcd8b9ea3df2283200.zip | |
init: Substitute invalid package names with `foo`
Closes #23066
Diffstat (limited to 'src/main.zig')
| -rw-r--r-- | src/main.zig | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/main.zig b/src/main.zig index 2e9d204420..1075993846 100644 --- a/src/main.zig +++ b/src/main.zig @@ -4787,7 +4787,7 @@ fn sanitizeExampleName(arena: Allocator, bytes: []const u8) error{OutOfMemory}![ '-', '.', ' ' => try result.append(arena, '_'), else => continue, }; - if (result.items.len == 0) return "foo"; + if (!std.zig.isValidId(result.items)) return "foo"; if (result.items.len > Package.Manifest.max_name_len) result.shrinkRetainingCapacity(Package.Manifest.max_name_len); @@ -4805,6 +4805,10 @@ test sanitizeExampleName { try std.testing.expectEqualStrings("a", try sanitizeExampleName(arena, "!a")); try std.testing.expectEqualStrings("a_b", try sanitizeExampleName(arena, "a.b!")); try std.testing.expectEqualStrings("_01234", try sanitizeExampleName(arena, "01234")); + try std.testing.expectEqualStrings("foo", try sanitizeExampleName(arena, "error")); + try std.testing.expectEqualStrings("foo", try sanitizeExampleName(arena, "test")); + try std.testing.expectEqualStrings("tests", try sanitizeExampleName(arena, "tests")); + try std.testing.expectEqualStrings("test_project", try sanitizeExampleName(arena, "test project")); } fn cmdBuild(gpa: Allocator, arena: Allocator, args: []const []const u8) !void { |
