authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-04-12 15:17:41-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-04-12 15:21:03-07:00
log60bd13bdf2f4834436df8c561b3bc95ec08af34e
tree7fc478696ab6a849d380f19916f52e3fb3159271
parent35f9c8444980671d634b05d68d0116a88825005a

never use C pointers!!

you maniacs, you absolute monsters. degenerates. hooligans. criminals. issue #2984 is coming for you.

3 files changed, 8 insertions(+), 8 deletions(-)

lib/compiler_rt/udivmodei4.zig+2-2
...@@ -112,7 +112,7 @@ fn divmod(q: ?[]u32, r: ?[]u32, u: []const u32, v: []const u32) !void {...@@ -112,7 +112,7 @@ fn divmod(q: ?[]u32, r: ?[]u32, u: []const u32, v: []const u32) !void {
112 }112 }
113}113}
114114
115pub fn __udivei4(r_q: [*c]u32, u_p: [*c]const u32, v_p: [*c]const u32, bits: usize) callconv(.C) void {115pub fn __udivei4(r_q: [*]u32, u_p: [*]const u32, v_p: [*]const u32, bits: usize) callconv(.C) void {
116 @setRuntimeSafety(builtin.is_test);116 @setRuntimeSafety(builtin.is_test);
117 const u = u_p[0 .. bits / 32];117 const u = u_p[0 .. bits / 32];
118 const v = v_p[0 .. bits / 32];118 const v = v_p[0 .. bits / 32];
...@@ -120,7 +120,7 @@ pub fn __udivei4(r_q: [*c]u32, u_p: [*c]const u32, v_p: [*c]const u32, bits: usi...@@ -120,7 +120,7 @@ pub fn __udivei4(r_q: [*c]u32, u_p: [*c]const u32, v_p: [*c]const u32, bits: usi
120 @call(.always_inline, divmod, .{ q, null, u, v }) catch unreachable;120 @call(.always_inline, divmod, .{ q, null, u, v }) catch unreachable;
121}121}
122122
123pub fn __umodei4(r_p: [*c]u32, u_p: [*c]const u32, v_p: [*c]const u32, bits: usize) callconv(.C) void {123pub fn __umodei4(r_p: [*]u32, u_p: [*]const u32, v_p: [*]const u32, bits: usize) callconv(.C) void {
124 @setRuntimeSafety(builtin.is_test);124 @setRuntimeSafety(builtin.is_test);
125 const u = u_p[0 .. bits / 32];125 const u = u_p[0 .. bits / 32];
126 const v = v_p[0 .. bits / 32];126 const v = v_p[0 .. bits / 32];
lib/std/c/dragonfly.zig+4-4
...@@ -705,7 +705,7 @@ pub const Sigaction = extern struct {...@@ -705,7 +705,7 @@ pub const Sigaction = extern struct {
705 mask: sigset_t,705 mask: sigset_t,
706};706};
707707
708pub const sig_t = [*c]fn (c_int) callconv(.C) void;708pub const sig_t = *const fn (c_int) callconv(.C) void;
709709
710pub const SOCK = struct {710pub const SOCK = struct {
711 pub const STREAM = 1;711 pub const STREAM = 1;
...@@ -890,7 +890,7 @@ pub const cmsghdr = extern struct {...@@ -890,7 +890,7 @@ pub const cmsghdr = extern struct {
890pub const msghdr = extern struct {890pub const msghdr = extern struct {
891 msg_name: ?*anyopaque,891 msg_name: ?*anyopaque,
892 msg_namelen: socklen_t,892 msg_namelen: socklen_t,
893 msg_iov: [*c]iovec,893 msg_iov: [*]iovec,
894 msg_iovlen: c_int,894 msg_iovlen: c_int,
895 msg_control: ?*anyopaque,895 msg_control: ?*anyopaque,
896 msg_controllen: socklen_t,896 msg_controllen: socklen_t,
...@@ -905,9 +905,9 @@ pub const cmsgcred = extern struct {...@@ -905,9 +905,9 @@ pub const cmsgcred = extern struct {
905 cmcred_groups: [16]gid_t,905 cmcred_groups: [16]gid_t,
906};906};
907pub const sf_hdtr = extern struct {907pub const sf_hdtr = extern struct {
908 headers: [*c]iovec,908 headers: [*]iovec,
909 hdr_cnt: c_int,909 hdr_cnt: c_int,
910 trailers: [*c]iovec,910 trailers: [*]iovec,
911 trl_cnt: c_int,911 trl_cnt: c_int,
912};912};
913913
lib/std/start.zig+2-2
...@@ -512,7 +512,7 @@ fn callMainWithArgs(argc: usize, argv: [*][*:0]u8, envp: [][*:0]u8) u8 {...@@ -512,7 +512,7 @@ fn callMainWithArgs(argc: usize, argv: [*][*:0]u8, envp: [][*:0]u8) u8 {
512 return initEventLoopAndCallMain();512 return initEventLoopAndCallMain();
513}513}
514514
515fn main(c_argc: c_int, c_argv: [*c][*c]u8, c_envp: [*c][*c]u8) callconv(.C) c_int {515fn main(c_argc: c_int, c_argv: [*][*:0]u8, c_envp: [*:null]?[*:0]u8) callconv(.C) c_int {
516 var env_count: usize = 0;516 var env_count: usize = 0;
517 while (c_envp[env_count] != null) : (env_count += 1) {}517 while (c_envp[env_count] != null) : (env_count += 1) {}
518 const envp = @ptrCast([*][*:0]u8, c_envp)[0..env_count];518 const envp = @ptrCast([*][*:0]u8, c_envp)[0..env_count];
...@@ -527,7 +527,7 @@ fn main(c_argc: c_int, c_argv: [*c][*c]u8, c_envp: [*c][*c]u8) callconv(.C) c_in...@@ -527,7 +527,7 @@ fn main(c_argc: c_int, c_argv: [*c][*c]u8, c_envp: [*c][*c]u8) callconv(.C) c_in
527 return @call(.always_inline, callMainWithArgs, .{ @intCast(usize, c_argc), @ptrCast([*][*:0]u8, c_argv), envp });527 return @call(.always_inline, callMainWithArgs, .{ @intCast(usize, c_argc), @ptrCast([*][*:0]u8, c_argv), envp });
528}528}
529529
530fn mainWithoutEnv(c_argc: c_int, c_argv: [*c][*c]u8) callconv(.C) c_int {530fn mainWithoutEnv(c_argc: c_int, c_argv: [*][*:0]u8) callconv(.C) c_int {
531 std.os.argv = @ptrCast([*][*:0]u8, c_argv)[0..@intCast(usize, c_argc)];531 std.os.argv = @ptrCast([*][*:0]u8, c_argv)[0..@intCast(usize, c_argc)];
532 return @call(.always_inline, callMain, .{});532 return @call(.always_inline, callMain, .{});
533}533}