diff --git a/src/evalfunc.c b/src/evalfunc.c
index 83ff48f..5dc7f82 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -8677,14 +8677,15 @@
     if (serverid != NULL && !check_restricted() && !check_secure())
     {
 	int timeout = 0;
+# ifdef WIN32
+	/* The server's HWND is encoded in the 'id' parameter */
+	long_u		n = 0;
+# endif
 
 	if (argvars[1].v_type != VAR_UNKNOWN)
 	    timeout = get_tv_number(&argvars[1]);
 
 # ifdef WIN32
-	/* The server's HWND is encoded in the 'id' parameter */
-	long_u		n = 0;
-
 	sscanf((char *)serverid, SCANF_HEX_LONG_U, &n);
 	if (n != 0)
 	    r = serverGetReply((HWND)n, FALSE, TRUE, TRUE, timeout);
diff --git a/src/main.c b/src/main.c
index 66db3eb..78b6122 100644
--- a/src/main.c
+++ b/src/main.c
@@ -4194,7 +4194,7 @@
 		size_t	len = STRLEN(cmd) + STRLEN(err) + 5;
 		char_u	*msg;
 
-		msg = alloc(len);
+		msg = alloc((unsigned)len);
 		if (msg != NULL)
 		    vim_snprintf((char *)msg, len, "%s: \"%s\"", err, cmd);
 		*result = msg;
diff --git a/src/os_mswin.c b/src/os_mswin.c
index cf8adda..696847e 100644
--- a/src/os_mswin.c
+++ b/src/os_mswin.c
@@ -2111,7 +2111,7 @@
 		char	*err = _(e_invexprmsg);
 		size_t	len = STRLEN(str) + STRLEN(err) + 5;
 
-		res = alloc(len);
+		res = alloc((unsigned)len);
 		if (res != NULL)
 		    vim_snprintf((char *)res, len, "%s: \"%s\"", err, str);
 		reply.dwData = COPYDATA_ERROR_RESULT;
diff --git a/src/version.c b/src/version.c
index 72516f0..343b856 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    494,
+/**/
     493,
 /**/
     492,
