mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 13:54:21 +00:00
never use C pointers!!
you maniacs, you absolute monsters. degenerates. hooligans. criminals. issue #2984 is coming for you.
This commit is contained in:
parent
35f9c84449
commit
60bd13bdf2
3 changed files with 8 additions and 8 deletions
|
|
@ -112,7 +112,7 @@ fn divmod(q: ?[]u32, r: ?[]u32, u: []const u32, v: []const u32) !void {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn __udivei4(r_q: [*c]u32, u_p: [*c]const u32, v_p: [*c]const u32, bits: usize) callconv(.C) void {
|
||||
pub fn __udivei4(r_q: [*]u32, u_p: [*]const u32, v_p: [*]const u32, bits: usize) callconv(.C) void {
|
||||
@setRuntimeSafety(builtin.is_test);
|
||||
const u = u_p[0 .. bits / 32];
|
||||
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
|
|||
@call(.always_inline, divmod, .{ q, null, u, v }) catch unreachable;
|
||||
}
|
||||
|
||||
pub fn __umodei4(r_p: [*c]u32, u_p: [*c]const u32, v_p: [*c]const u32, bits: usize) callconv(.C) void {
|
||||
pub fn __umodei4(r_p: [*]u32, u_p: [*]const u32, v_p: [*]const u32, bits: usize) callconv(.C) void {
|
||||
@setRuntimeSafety(builtin.is_test);
|
||||
const u = u_p[0 .. bits / 32];
|
||||
const v = v_p[0 .. bits / 32];
|
||||
|
|
|
|||
|
|
@ -705,7 +705,7 @@ pub const Sigaction = extern struct {
|
|||
mask: sigset_t,
|
||||
};
|
||||
|
||||
pub const sig_t = [*c]fn (c_int) callconv(.C) void;
|
||||
pub const sig_t = *const fn (c_int) callconv(.C) void;
|
||||
|
||||
pub const SOCK = struct {
|
||||
pub const STREAM = 1;
|
||||
|
|
@ -890,7 +890,7 @@ pub const cmsghdr = extern struct {
|
|||
pub const msghdr = extern struct {
|
||||
msg_name: ?*anyopaque,
|
||||
msg_namelen: socklen_t,
|
||||
msg_iov: [*c]iovec,
|
||||
msg_iov: [*]iovec,
|
||||
msg_iovlen: c_int,
|
||||
msg_control: ?*anyopaque,
|
||||
msg_controllen: socklen_t,
|
||||
|
|
@ -905,9 +905,9 @@ pub const cmsgcred = extern struct {
|
|||
cmcred_groups: [16]gid_t,
|
||||
};
|
||||
pub const sf_hdtr = extern struct {
|
||||
headers: [*c]iovec,
|
||||
headers: [*]iovec,
|
||||
hdr_cnt: c_int,
|
||||
trailers: [*c]iovec,
|
||||
trailers: [*]iovec,
|
||||
trl_cnt: c_int,
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -512,7 +512,7 @@ fn callMainWithArgs(argc: usize, argv: [*][*:0]u8, envp: [][*:0]u8) u8 {
|
|||
return initEventLoopAndCallMain();
|
||||
}
|
||||
|
||||
fn main(c_argc: c_int, c_argv: [*c][*c]u8, c_envp: [*c][*c]u8) callconv(.C) c_int {
|
||||
fn main(c_argc: c_int, c_argv: [*][*:0]u8, c_envp: [*:null]?[*:0]u8) callconv(.C) c_int {
|
||||
var env_count: usize = 0;
|
||||
while (c_envp[env_count] != null) : (env_count += 1) {}
|
||||
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
|
|||
return @call(.always_inline, callMainWithArgs, .{ @intCast(usize, c_argc), @ptrCast([*][*:0]u8, c_argv), envp });
|
||||
}
|
||||
|
||||
fn mainWithoutEnv(c_argc: c_int, c_argv: [*c][*c]u8) callconv(.C) c_int {
|
||||
fn mainWithoutEnv(c_argc: c_int, c_argv: [*][*:0]u8) callconv(.C) c_int {
|
||||
std.os.argv = @ptrCast([*][*:0]u8, c_argv)[0..@intCast(usize, c_argc)];
|
||||
return @call(.always_inline, callMain, .{});
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue