diff --git a/interpret.h b/interpret.h index 9ffa5bbd..4c723ae0 100644 --- a/interpret.h +++ b/interpret.h @@ -483,9 +483,10 @@ uninitialized_scalar: case Op_lint_plus: // no need to check do_lint, this opcode won't // be generated if that's not true - t1 = TOP(); - t2 = PEEK(1); - if ((t1->flags & STRING) != 0 && (t2->flags & STRING) != 0) + t1 = fixtype(TOP()); + t2 = fixtype(PEEK(1)); + if ((t1->flags & (STRING|USER_INPUT)) == STRING + && (t2->flags & (STRING|USER_INPUT)) == STRING) lintwarn(_("operator `+' used on two string values")); break;