patch 9.1.0448: compiler warning in eval.c
Problem: compiler warning in eval.c (after v9.1.0429)
Solution: refactor code (Yegappan Lakshmanan)
fixes: #14847
closes: #14867
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/eval.c b/src/eval.c
index 8583610..b08f296 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -5761,22 +5761,31 @@
if (echo_style)
{
- r = tv->vval.v_string == NULL ? (char_u *)"function()"
- : make_ufunc_name_readable(tv->vval.v_string,
- buf, MAX_FUNC_NAME_LEN);
- if (r == buf && tv->vval.v_string != NULL)
+ if (tv->vval.v_string == NULL)
{
- r = vim_strsave(buf);
- *tofree = r;
+ r = (char_u *)"function()";
+ *tofree = NULL;
}
else
- *tofree = NULL;
+ {
+ r = make_ufunc_name_readable(tv->vval.v_string, buf,
+ MAX_FUNC_NAME_LEN);
+ if (r == buf)
+ {
+ r = vim_strsave(buf);
+ *tofree = r;
+ }
+ else
+ *tofree = NULL;
+ }
}
else
{
- *tofree = string_quote(tv->vval.v_string == NULL ? NULL
- : make_ufunc_name_readable(tv->vval.v_string,
- buf, MAX_FUNC_NAME_LEN), TRUE);
+ if (tv->vval.v_string == NULL)
+ *tofree = string_quote(NULL, TRUE);
+ else
+ *tofree = string_quote(make_ufunc_name_readable(tv->vval.v_string,
+ buf, MAX_FUNC_NAME_LEN), TRUE);
r = *tofree;
}