diff options
| author | Cheru Berhanu <cheru@cheru.dev> | 2025-08-14 18:22:28 -0700 |
|---|---|---|
| committer | Cheru Berhanu <cheru@cheru.dev> | 2025-08-22 14:47:04 -0700 |
| commit | 292efec669ca35cadccf3abedd39058ec5411bdd (patch) | |
| tree | 047b67370c601223af73f39828bc5553983e039b /src/os | |
| parent | 0c722b0e3df759febfc26f44b2381d47ca3cc770 (diff) | |
terminal: fix build with -Di18n=false
canonicalizeLocale should return a null-terminated string, and didn't previously.
Compiler output:
```
src/os/i18n.zig:139:45: error: expected type 'error{NoSpaceLeft}![:0]const u8', found '[]const u8'
if (comptime !build_config.i18n) return locale;
^~~~~~
src/os/i18n.zig:139:45: note: destination pointer requires '0' sentinel
src/os/i18n.zig:138:21: note: function return type declared here
) error{NoSpaceLeft}![:0]const u8 {
~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
```
Diffstat (limited to 'src/os')
| -rw-r--r-- | src/os/i18n.zig | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/os/i18n.zig b/src/os/i18n.zig index c6bce6fbf..29f7f6bc3 100644 --- a/src/os/i18n.zig +++ b/src/os/i18n.zig @@ -136,7 +136,12 @@ pub fn canonicalizeLocale( buf: []u8, locale: []const u8, ) error{NoSpaceLeft}![:0]const u8 { - if (comptime !build_config.i18n) return locale; + if (comptime !build_config.i18n) { + if (buf.len < locale.len + 1) return error.NoSpaceLeft; + @memcpy(buf[0..locale.len], locale); + buf[locale.len] = 0; + return buf[0..locale.len :0]; + } // Fix zh locales for macOS if (fixZhLocale(locale)) |fixed| { |
