summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--all.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/all.h b/all.h
index e71547b..3c68bbc 100644
--- a/all.h
+++ b/all.h
@@ -115,7 +115,7 @@ static inline int rtype(Ref r)
 
 static inline int rsval(Ref r)
 {
-	return ((int32_t)r.val << 3) >> 3;
+	return (int32_t)((int64_t)r.val << 3) >> 3;
 }
 
 enum CmpI {