From a23e43d06246f3b57f0c3f536a20d579ac1d71f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Wed, 22 May 2013 18:49:55 +0200 Subject: [PATCH] Operators: Improved type for `+() and `-() with respect to strings. The resulting string width should now be correct in some common cases. Fixes [bug 6785]. --- src/operators.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/operators.c b/src/operators.c index f343923b80..9e40ffb91f 100644 --- a/src/operators.c +++ b/src/operators.c @@ -5785,8 +5785,8 @@ void init_operators(void) tIfnot(tFuncV(tNone, tNot(tFlt), tMix), tFuncV(tOr(tInt,tFlt),tOr(tInt,tFlt),tFlt)), tIfnot(tFuncV(tNone, tNot(tStr), tMix), - tFuncV(tOr3(tStr,tInt,tFlt), - tOr3(tStr,tInt,tFlt),tStr)), + tFuncV(tOr3(tSetvar(0, tStr),tInt,tFlt), + tOr3(tSetvar(1, tStr),tInt,tFlt),tOr(tVar(0),tVar(1)))), tFuncV(tSetvar(0,tArray),tSetvar(1,tArray), tOr(tVar(0),tVar(1))), tFuncV(tSetvar(0,tMapping),tSetvar(1,tMapping), @@ -5806,7 +5806,7 @@ void init_operators(void) tOr3(tMapping,tArray,tMultiset), tMap(tVar(1),tVar(2))), tFunc(tSet(tSetvar(3,tMix)) tMultiset,tSet(tVar(3))), - tFuncV(tStr,tStr,tStr)), + tFuncV(tSetvar(0,tStr),tStr,tVar(0))), OPT_TRY_OPTIMIZE,0,generate_minus); /* -- GitLab