authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-12-02 01:13:46-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-12-02 01:13:46-05:00
logb6127b0fe93cfc70d790b6fc9456f5633591e630
tree61ccc6f30a48f3974ca210a3e06ba3ef74ac6ef7
parent6d8550a7dfecc3f8fcf2e1ff869921ce48ca1683
signaturelock-open Commit is signed but in an unrecognized format.

add some null-termination annotations

closes #3797

1 files changed, 5 insertions(+), 5 deletions(-)

lib/std/special/c.zig+5-5
...@@ -39,20 +39,20 @@ comptime {...@@ -39,20 +39,20 @@ comptime {
3939
40extern var _fltused: c_int = 1;40extern var _fltused: c_int = 1;
4141
42extern fn main(argc: c_int, argv: [*][*]u8) c_int;42extern fn main(argc: c_int, argv: [*:null]?[*:0]u8) c_int;
43extern fn wasm_start() void {43extern fn wasm_start() void {
44 _ = main(0, undefined);44 _ = main(0, undefined);
45}45}
4646
47extern fn strcmp(s1: [*]const u8, s2: [*]const u8) c_int {47extern fn strcmp(s1: [*:0]const u8, s2: [*:0]const u8) c_int {
48 return std.cstr.cmp(s1, s2);48 return std.cstr.cmp(s1, s2);
49}49}
5050
51extern fn strlen(s: [*]const u8) usize {51extern fn strlen(s: [*:0]const u8) usize {
52 return std.mem.len(u8, s);52 return std.mem.len(u8, s);
53}53}
5454
55extern fn strncmp(_l: [*]const u8, _r: [*]const u8, _n: usize) c_int {55extern fn strncmp(_l: [*:0]const u8, _r: [*:0]const u8, _n: usize) c_int {
56 if (_n == 0) return 0;56 if (_n == 0) return 0;
57 var l = _l;57 var l = _l;
58 var r = _r;58 var r = _r;
...@@ -65,7 +65,7 @@ extern fn strncmp(_l: [*]const u8, _r: [*]const u8, _n: usize) c_int {...@@ -65,7 +65,7 @@ extern fn strncmp(_l: [*]const u8, _r: [*]const u8, _n: usize) c_int {
65 return @as(c_int, l[0]) - @as(c_int, r[0]);65 return @as(c_int, l[0]) - @as(c_int, r[0]);
66}66}
6767
68extern fn strerror(errnum: c_int) [*]const u8 {68extern fn strerror(errnum: c_int) [*:0]const u8 {
69 return "TODO strerror implementation";69 return "TODO strerror implementation";
70}70}
7171