[master] 5d1dd90 More fixes related to VCL_INT+VCL_BYTES being 64bit

Poul-Henning Kamp phk at FreeBSD.org
Tue Mar 6 10:25:09 UTC 2018


commit 5d1dd90aa55918d0d37fa87fd7a0374fa5aabe19
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Tue Mar 6 10:23:50 2018 +0000

    More fixes related to VCL_INT+VCL_BYTES being 64bit

diff --git a/lib/libvcc/vcc_expr.c b/lib/libvcc/vcc_expr.c
index ddb1376..90cc00c 100644
--- a/lib/libvcc/vcc_expr.c
+++ b/lib/libvcc/vcc_expr.c
@@ -766,8 +766,8 @@ vcc_expr4(struct vcc *tl, struct expr **e, vcc_type_t fmt)
 			} else if (i || fmt == REAL)
 				e1 = vcc_mk_expr(REAL, "%s%f", sign, d);
 			else
-				e1 = vcc_mk_expr(INT, "%s%ld",
-				    sign, (unsigned long)d);
+				e1 = vcc_mk_expr(INT, "%s%jd",
+				    sign, (intmax_t)d);
 		}
 		e1->constant = EXPR_CONST;
 		*e = e1;
diff --git a/lib/libvmod_std/vmod_std_conversions.c b/lib/libvmod_std/vmod_std_conversions.c
index 15cd9d1..bb2be44 100644
--- a/lib/libvmod_std/vmod_std_conversions.c
+++ b/lib/libvmod_std/vmod_std_conversions.c
@@ -73,7 +73,7 @@ vmod_integer(VRT_CTX, VCL_STRING p, VCL_INT i)
 	if (r > LONG_MAX || r < LONG_MIN)
 		return (i);
 
-	return ((long)r);
+	return ((VCL_INT)r);
 }
 
 VCL_IP
@@ -149,7 +149,7 @@ vmod_real2integer(VRT_CTX, VCL_REAL r, VCL_INT i)
 	r = round(r);
 	if (r > LONG_MAX || r < LONG_MIN)
 		return(i);
-	return ((long)r);
+	return ((VCL_INT)r);
 }
 
 VCL_TIME v_matchproto_(td_std_real2time)
@@ -173,7 +173,7 @@ vmod_time2integer(VRT_CTX, VCL_TIME t, VCL_INT i)
 	t = round(t);
 	if (t > LONG_MAX || t < LONG_MIN)
 		return(i);
-	return ((long)t);
+	return ((VCL_INT)t);
 }
 
 VCL_REAL v_matchproto_(td_std_time2real)


More information about the varnish-commit mailing list