diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2023-02-01 23:31:52 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-02-01 23:31:52 -0500 |
| commit | 6b7ad22981867cbf6ec40d540f5571f276d6801b (patch) | |
| tree | 4c1665cf0c03fcaa5d6c2a09aa49c49f5b804236 /src/TypedValue.zig | |
| parent | e712d5f03e6e3ddde6a4a6f7d2d82e786efd543a (diff) | |
| parent | 629c3108aa71f94bd26dba8d4f20c9f3a3945bd4 (diff) | |
| download | zig-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.zig | 5 |
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; } |
