updated for version 7.0c
diff --git a/src/message.c b/src/message.c
index d25d485..481236b 100644
--- a/src/message.c
+++ b/src/message.c
@@ -4167,8 +4167,13 @@
 		    {
 			/* memchr on HP does not like n > 2^31  !!! */
 			char *q = memchr(str_arg, '\0',
+#if SIZEOF_INT <= 2
+				precision
+#else
 				precision <= (size_t)0x7fffffffL ? precision
-						       : (size_t)0x7fffffffL);
+						       : (size_t)0x7fffffffL
+#endif
+						       );
 			str_arg_l = (q == NULL) ? precision : q - str_arg;
 		    }
 		    break;