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 {
112112 }
113113}
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 {
116116 @setRuntimeSafety(builtin.is_test);
117117 const u = u_p[0 .. bits / 32];
118118 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
120120 @call(.always_inline, divmod, .{ q, null, u, v }) catch unreachable;
121121}
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 {
124124 @setRuntimeSafety(builtin.is_test);
125125 const u = u_p[0 .. bits / 32];
126126 const v = v_p[0 .. bits / 32];
lib/std/c/dragonfly.zig+4-4
......@@ -705,7 +705,7 @@ pub const Sigaction = extern struct {
705705 mask: sigset_t,
706706};
707707
708pub const sig_t = [*c]fn (c_int) callconv(.C) void;
708pub const sig_t = *const fn (c_int) callconv(.C) void;
709709
710710pub const SOCK = struct {
711711 pub const STREAM = 1;
......@@ -890,7 +890,7 @@ pub const cmsghdr = extern struct {
890890pub const msghdr = extern struct {
891891 msg_name: ?*anyopaque,
892892 msg_namelen: socklen_t,
893 msg_iov: [*c]iovec,
893 msg_iov: [*]iovec,
894894 msg_iovlen: c_int,
895895 msg_control: ?*anyopaque,
896896 msg_controllen: socklen_t,
......@@ -905,9 +905,9 @@ pub const cmsgcred = extern struct {
905905 cmcred_groups: [16]gid_t,
906906};
907907pub const sf_hdtr = extern struct {
908 headers: [*c]iovec,
908 headers: [*]iovec,
909909 hdr_cnt: c_int,
910 trailers: [*c]iovec,
910 trailers: [*]iovec,
911911 trl_cnt: c_int,
912912};
913913
lib/std/start.zig+2-2
......@@ -512,7 +512,7 @@ fn callMainWithArgs(argc: usize, argv: [*][*:0]u8, envp: [][*:0]u8) u8 {
512512 return initEventLoopAndCallMain();
513513}
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 {
516516 var env_count: usize = 0;
517517 while (c_envp[env_count] != null) : (env_count += 1) {}
518518 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
527527 return @call(.always_inline, callMainWithArgs, .{ @intCast(usize, c_argc), @ptrCast([*][*:0]u8, c_argv), envp });
528528}
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 {
531531 std.os.argv = @ptrCast([*][*:0]u8, c_argv)[0..@intCast(usize, c_argc)];
532532 return @call(.always_inline, callMain, .{});
533533}