aboutsummaryrefslogtreecommitdiff
path: root/src/TypedValue.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2023-02-01 23:31:52 -0500
committerGitHub <noreply@github.com>2023-02-01 23:31:52 -0500
commit6b7ad22981867cbf6ec40d540f5571f276d6801b (patch)
tree4c1665cf0c03fcaa5d6c2a09aa49c49f5b804236 /src/TypedValue.zig
parente712d5f03e6e3ddde6a4a6f7d2d82e786efd543a (diff)
parent629c3108aa71f94bd26dba8d4f20c9f3a3945bd4 (diff)
downloadzig-6b7ad22981867cbf6ec40d540f5571f276d6801b.tar.gz
zig-6b7ad22981867cbf6ec40d540f5571f276d6801b.zip
Merge pull request #14477 from Vexu/fixes
Improve `@ptrCast` errors, fix some bugs
Diffstat (limited to 'src/TypedValue.zig')
-rw-r--r--src/TypedValue.zig5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/TypedValue.zig b/src/TypedValue.zig
index 6e096ee90a..cb28274f10 100644
--- a/src/TypedValue.zig
+++ b/src/TypedValue.zig
@@ -176,7 +176,9 @@ pub fn print(
var i: u32 = 0;
while (i < max_len) : (i += 1) {
- buf[i] = std.math.cast(u8, val.fieldValue(ty, i).toUnsignedInt(target)) orelse break :str;
+ const elem = val.fieldValue(ty, i);
+ if (elem.isUndef()) break :str;
+ buf[i] = std.math.cast(u8, elem.toUnsignedInt(target)) orelse break :str;
}
const truncated = if (len > max_string_len) " (truncated)" else "";
@@ -390,6 +392,7 @@ pub fn print(
while (i < max_len) : (i += 1) {
var elem_buf: Value.ElemValueBuffer = undefined;
const elem_val = payload.ptr.elemValueBuffer(mod, i, &elem_buf);
+ if (elem_val.isUndef()) break :str;
buf[i] = std.math.cast(u8, elem_val.toUnsignedInt(target)) orelse break :str;
}