diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2023-04-13 21:44:40 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2023-04-25 11:23:40 -0700 |
| commit | a5c910adb610ae530db99f10aa77aaed3e85e830 (patch) | |
| tree | 5c3f72dbac50fc9f09608be3d7ea328c629c00a0 /lib/std/net.zig | |
| parent | 8d88dcdc61c61e3410138f4402482131f5074a80 (diff) | |
| download | zig-a5c910adb610ae530db99f10aa77aaed3e85e830.tar.gz zig-a5c910adb610ae530db99f10aa77aaed3e85e830.zip | |
change semantics of `@memcpy` and `@memset`
Now they use slices or array pointers with any element type instead of
requiring byte pointers.
This is a breaking enhancement to the language.
The safety check for overlapping pointers will be implemented in a
future commit.
closes #14040
Diffstat (limited to 'lib/std/net.zig')
| -rw-r--r-- | lib/std/net.zig | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/std/net.zig b/lib/std/net.zig index 205fbf4842..d59676ec17 100644 --- a/lib/std/net.zig +++ b/lib/std/net.zig @@ -1020,7 +1020,7 @@ fn linuxLookupName( for (addrs.items, 0..) |*addr, i| { var key: i32 = 0; var sa6: os.sockaddr.in6 = undefined; - @memset(@ptrCast([*]u8, &sa6), 0, @sizeOf(os.sockaddr.in6)); + @memset(@ptrCast([*]u8, &sa6)[0..@sizeOf(os.sockaddr.in6)], 0); var da6 = os.sockaddr.in6{ .family = os.AF.INET6, .scope_id = addr.addr.in6.sa.scope_id, @@ -1029,7 +1029,7 @@ fn linuxLookupName( .addr = [1]u8{0} ** 16, }; var sa4: os.sockaddr.in = undefined; - @memset(@ptrCast([*]u8, &sa4), 0, @sizeOf(os.sockaddr.in)); + @memset(@ptrCast([*]u8, &sa4)[0..@sizeOf(os.sockaddr.in)], 0); var da4 = os.sockaddr.in{ .family = os.AF.INET, .port = 65535, @@ -1577,7 +1577,7 @@ fn resMSendRc( // Get local address and open/bind a socket var sa: Address = undefined; - @memset(@ptrCast([*]u8, &sa), 0, @sizeOf(Address)); + @memset(@ptrCast([*]u8, &sa)[0..@sizeOf(Address)], 0); sa.any.family = family; try os.bind(fd, &sa.any, sl); |
