Index: /trunk/src/kmk/expand.c
===================================================================
--- /trunk/src/kmk/expand.c	(revision 1818)
+++ /trunk/src/kmk/expand.c	(revision 1819)
@@ -1031,14 +1031,14 @@
   char *obuf = variable_buffer;
   unsigned int olen = variable_buffer_length;
+  long len = length == ~0U ? -1L : (long)length;
 
   variable_buffer = 0;
 
   if (!value_len)
-    value = variable_expand_string (NULL, line, length != ~0U ? length : -1);
+    value = variable_expand_string (NULL, line, len);
   else
     {
       char *eol;
-      value = variable_expand_string_2 (NULL, line,
-                                        length != ~0U ? length : -1, &eol);
+      value = variable_expand_string_2 (NULL, line, len, &eol);
       *value_len = eol - value;
     }
