patch 7.4.2097
Problem: Warning from 64 bit compiler.
Solution: use size_t instead of int. (Mike Williams)
diff --git a/src/message.c b/src/message.c
index c49429d..fe68b5b 100644
--- a/src/message.c
+++ b/src/message.c
@@ -237,18 +237,19 @@
trunc_string(
char_u *s,
char_u *buf,
- int room,
+ int room_in,
int buflen)
{
- int half;
- int len;
+ size_t room = room_in - 3; /* "..." takes 3 chars */
+ size_t half;
+ size_t len = 0;
int e;
int i;
int n;
- room -= 3;
+ if (room_in < 3)
+ room = 0;
half = room / 2;
- len = 0;
/* First part: Start of the string. */
for (e = 0; len < half && e < buflen; ++e)
@@ -320,7 +321,7 @@
if (s != buf)
{
len = STRLEN(s);
- if (len >= buflen)
+ if (len >= (size_t)buflen)
len = buflen - 1;
len = len - e + 1;
if (len < 1)
@@ -333,8 +334,8 @@
{
/* set the middle and copy the last part */
mch_memmove(buf + e, "...", (size_t)3);
- len = (int)STRLEN(s + i) + 1;
- if (len >= buflen - e - 3)
+ len = STRLEN(s + i) + 1;
+ if (len >= (size_t)buflen - e - 3)
len = buflen - e - 3 - 1;
mch_memmove(buf + e + 3, s + i, len);
buf[e + 3 + len - 1] = NUL;