authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-06-01 10:27:10+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-06-01 14:46:00+02:00
logee3c7a9f39b397aa8a1153f5699d9ff39bd9b359
treea085ec580d35292bcca2ebe548598543cf1ac5cb
parent6384ac6601b4d0654022786edba0cb775255ebd6
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.c: fix some symbol names under the msvc ABI


1 files changed, 20 insertions(+), 3 deletions(-)

lib/std/c.zig+20-3
...@@ -11134,14 +11134,23 @@ pub const ioctl = switch (native_os) {...@@ -11134,14 +11134,23 @@ pub const ioctl = switch (native_os) {
1113411134
11135pub extern "c" fn bzero(s: *anyopaque, n: usize) void;11135pub extern "c" fn bzero(s: *anyopaque, n: usize) void;
1113611136
11137pub extern "c" fn swab(noalias from: *const anyopaque, noalias to: *anyopaque, n: isize) void;11137pub const swab = switch (builtin.abi) {
11138 .msvc => private._swab,
11139 else => private.swab,
11140};
1113811141
11139pub extern "c" fn strncmp(a: [*:0]const c_char, b: [*:0]const c_char, max: usize) c_int;11142pub extern "c" fn strncmp(a: [*:0]const c_char, b: [*:0]const c_char, max: usize) c_int;
11140pub extern "c" fn strcasecmp(a: [*:0]const c_char, b: [*:0]const c_char) c_int;11143pub extern "c" fn strcasecmp(a: [*:0]const c_char, b: [*:0]const c_char) c_int;
11141pub extern "c" fn strncasecmp(a: [*:0]const c_char, b: [*:0]const c_char, max: usize) c_int;11144pub extern "c" fn strncasecmp(a: [*:0]const c_char, b: [*:0]const c_char, max: usize) c_int;
11142pub extern "c" fn strdup(s: [*:0]const c_char) ?[*:0]c_char;11145pub const strdup = switch (builtin.abi) {
11146 .msvc => private._strdup,
11147 else => private.strdup,
11148};
11143pub extern "c" fn strndup(s: [*:0]const c_char, n: usize) ?[*:0]c_char;11149pub extern "c" fn strndup(s: [*:0]const c_char, n: usize) ?[*:0]c_char;
11144pub extern "c" fn wcsdup(s: [*:0]const wchar_t) ?[*:0]wchar_t;11150pub const wcsdup = switch (builtin.abi) {
11151 .msvc => private._wcsdup,
11152 else => private.wcsdup,
11153};
1114511154
11146pub extern "c" fn ffs(i: c_int) c_int;11155pub extern "c" fn ffs(i: c_int) c_int;
11147pub extern "c" fn ffsl(i: c_long) c_long;11156pub extern "c" fn ffsl(i: c_long) c_long;
...@@ -11555,6 +11564,14 @@ pub const setkeymap = serenity.setkeymap;...@@ -11555,6 +11564,14 @@ pub const setkeymap = serenity.setkeymap;
1155511564
11556/// External definitions shared by two or more operating systems.11565/// External definitions shared by two or more operating systems.
11557const private = struct {11566const private = struct {
11567 pub extern "c" fn strdup(s: [*:0]const c_char) ?[*:0]c_char;
11568 pub extern "c" fn _strdup(s: [*:0]const c_char) ?[*:0]c_char;
11569 pub extern "c" fn wcsdup(s: [*:0]const wchar_t) ?[*:0]wchar_t;
11570 pub extern "c" fn _wcsdup(s: [*:0]const wchar_t) ?[*:0]wchar_t;
11571
11572 pub extern "c" fn swab(noalias from: *const anyopaque, noalias to: *anyopaque, n: isize) void;
11573 pub extern "c" fn _swab(noalias from: *const anyopaque, noalias to: *anyopaque, n: isize) void;
11574
11558 extern "c" fn close(fd: fd_t) c_int;11575 extern "c" fn close(fd: fd_t) c_int;
11559 extern "c" fn clock_getres(clk_id: clockid_t, tp: *timespec) c_int;11576 extern "c" fn clock_getres(clk_id: clockid_t, tp: *timespec) c_int;
11560 extern "c" fn clock_gettime(clk_id: clockid_t, tp: *timespec) c_int;11577 extern "c" fn clock_gettime(clk_id: clockid_t, tp: *timespec) c_int;