fix wrong behavior for str value function call