summaryrefslogtreecommitdiff
path: root/bcc/exptree.c
diff options
context:
space:
mode:
Diffstat (limited to 'bcc/exptree.c')
-rw-r--r--bcc/exptree.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/bcc/exptree.c b/bcc/exptree.c
index 427b5f4..04a4534 100644
--- a/bcc/exptree.c
+++ b/bcc/exptree.c
@@ -397,7 +397,12 @@ struct nodestruct *p2;
if (target->storage == CONSTANT)
{
if (rscalar & CHAR)
+ {
target->offset.offv &= CHMASKTO;
+ if (p2->nodetype == sctype &&
+ target->offset.offv&((~CHMASKTO)>>1))
+ target->offset.offv |= ~CHMASKTO;
+ }
else if (rscalar & SHORT)
{
target->offset.offv &= shortmaskto;