ref: 07d4e19ee7d495d9c90fecd353bfd220b3d06b2a
parent: 3065329a32e17d2ba7089746b2ed5286e132aa8d
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Mon Apr 7 13:19:11 EDT 2025
fix bitwise ops on ptr (thanks spew)
--- a/src/cvalues.c
+++ b/src/cvalues.c
@@ -1233,7 +1233,7 @@
case T_U32: return mk_u32(*(u32int*)aptr | (u32int)b64);
case T_S64: return mk_s64(*(s64int*)aptr | (s64int)b64);
case T_U64: return mk_u64(*(u64int*)aptr | (u64int)b64);
- case T_PTR: return mk_ptr(*(uintptr*)aptr & (uintptr)b64);
+ case T_PTR: return mk_ptr(*(uintptr*)aptr | (uintptr)b64);
case T_MP: mpor(*(mpint**)aptr, bmp, resmp); return mk_mp(resmp);
case T_FLOAT:
case T_DOUBLE: break;
@@ -1249,7 +1249,7 @@
case T_U32: return mk_u32(*(u32int*)aptr ^ (u32int)b64);
case T_S64: return mk_s64(*(s64int*)aptr ^ (s64int)b64);
case T_U64: return mk_u64(*(u64int*)aptr ^ (u64int)b64);
- case T_PTR: return mk_ptr(*(uintptr*)aptr & (uintptr)b64);
+ case T_PTR: return mk_ptr(*(uintptr*)aptr ^ (uintptr)b64);
case T_MP: mpxor(*(mpint**)aptr, bmp, resmp); return mk_mp(resmp);
case T_FLOAT:
case T_DOUBLE: break;