[master] 4ac43023e FlexeLinting: Be more careful about signed/unsigned

Poul-Henning Kamp phk at FreeBSD.org
Mon Apr 29 09:28:07 UTC 2019


commit 4ac43023e66bf0392fcb0ba40693fec3f28cdbee
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Mon Apr 29 07:20:10 2019 +0000

    FlexeLinting: Be more careful about signed/unsigned

diff --git a/lib/libvmod_directors/shard_cfg.c b/lib/libvmod_directors/shard_cfg.c
index 62d2e74f1..b72bad27f 100644
--- a/lib/libvmod_directors/shard_cfg.c
+++ b/lib/libvmod_directors/shard_cfg.c
@@ -370,7 +370,7 @@ shardcfg_backend_lookup(const struct backend_reconfig *re,
 static void
 shardcfg_backend_expand(const struct backend_reconfig *re)
 {
-	unsigned min = re->hint;
+	int min = re->hint;
 
 	CHECK_OBJ_NOTNULL(re->shardd, SHARDDIR_MAGIC);
 
@@ -380,7 +380,7 @@ shardcfg_backend_expand(const struct backend_reconfig *re)
 	if (re->shardd->l_backend < min)
 		re->shardd->l_backend = min;
 	else
-		re->shardd->l_backend <<= 1;
+		re->shardd->l_backend *= 2;
 
 	re->shardd->backend = realloc(re->shardd->backend,
 	    re->shardd->l_backend * sizeof *re->shardd->backend);
diff --git a/lib/libvmod_directors/shard_dir.c b/lib/libvmod_directors/shard_dir.c
index ac870cd6b..e295be1e9 100644
--- a/lib/libvmod_directors/shard_dir.c
+++ b/lib/libvmod_directors/shard_dir.c
@@ -319,15 +319,15 @@ sharddir_any_healthy(VRT_CTX, struct sharddir *shardd, VCL_TIME *changed)
 {
 	unsigned retval = 0;
 	VCL_BACKEND be;
-	unsigned u;
+	int i;
 	vtim_real c;
 
 	CHECK_OBJ_NOTNULL(shardd, SHARDDIR_MAGIC);
 	sharddir_rdlock(shardd);
 	if (changed != NULL)
 		*changed = 0;
-	for (u = 0; u < shardd->n_backend; u++) {
-		be = shardd->backend[u].backend;
+	for (i = 0; i < shardd->n_backend; i++) {
+		be = shardd->backend[i].backend;
 		CHECK_OBJ_NOTNULL(be, DIRECTOR_MAGIC);
 		retval = VRT_Healthy(ctx, be, &c);
 		if (changed != NULL && c > *changed)
diff --git a/lib/libvmod_directors/shard_dir.h b/lib/libvmod_directors/shard_dir.h
index 29373d0fe..bf5bb1ed4 100644
--- a/lib/libvmod_directors/shard_dir.h
+++ b/lib/libvmod_directors/shard_dir.h
@@ -76,8 +76,8 @@ struct sharddir {
 
 	pthread_rwlock_t			mtx;
 
-	unsigned				n_backend;
-	unsigned				l_backend;
+	int					n_backend;
+	int					l_backend;
 	struct shard_backend			*backend;
 
 	const char				*name;
diff --git a/lib/libvmod_directors/vmod_shard.c b/lib/libvmod_directors/vmod_shard.c
index c25ebb9ec..73611b95c 100644
--- a/lib/libvmod_directors/vmod_shard.c
+++ b/lib/libvmod_directors/vmod_shard.c
@@ -471,7 +471,7 @@ shard_blob_key(VCL_BLOB key_blob)
 {
 	uint8_t k[4] = { 0 };
 	const uint8_t *b;
-	int i, ki;
+	size_t i, ki;
 
 	AN(key_blob);
 	AN(key_blob->blob);
@@ -762,8 +762,9 @@ vmod_shard_list(VRT_CTX, VCL_BACKEND dir, struct vsb *vsb, int pflag, int jflag)
 	VCL_DURATION rampup_d, d;
 	VCL_BACKEND be;
 	VCL_BOOL h;
-	unsigned u, nh = 0;
+	unsigned nh = 0;
 	double rampup_p;
+	int i;
 
 	CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);
 	CHECK_OBJ_NOTNULL(dir, DIRECTOR_MAGIC);
@@ -785,8 +786,8 @@ vmod_shard_list(VRT_CTX, VCL_BACKEND dir, struct vsb *vsb, int pflag, int jflag)
 	}
 
 	sharddir_rdlock(shardd);
-	for (u = 0; u < shardd->n_backend; u++) {
-		sbe = &shardd->backend[u];
+	for (i = 0; i < shardd->n_backend; i++) {
+		sbe = &shardd->backend[i];
 		AN(sbe);
 		be = sbe->backend;
 		CHECK_OBJ_NOTNULL(be, DIRECTOR_MAGIC);
@@ -801,7 +802,7 @@ vmod_shard_list(VRT_CTX, VCL_BACKEND dir, struct vsb *vsb, int pflag, int jflag)
 			continue;
 
 		d = ctx->now - c;
-		rampup_d = shardcfg_get_rampup(shardd, u);
+		rampup_d = shardcfg_get_rampup(shardd, i);
 		if (! h) {
 			rampup_p = 0.0;
 			rampup_d = 0.0;
@@ -814,7 +815,7 @@ vmod_shard_list(VRT_CTX, VCL_BACKEND dir, struct vsb *vsb, int pflag, int jflag)
 		}
 
 		if (jflag) {
-			if (u)
+			if (i)
 				VSB_cat(vsb, ",\n");
 			VSB_printf(vsb, "\"%s\": {\n",
 			    be->vcl_name);
@@ -852,10 +853,10 @@ vmod_shard_list(VRT_CTX, VCL_BACKEND dir, struct vsb *vsb, int pflag, int jflag)
 		return;
 
 	if (jflag)
-		VSB_printf(vsb, "[%u, %u, \"%s\"]", nh, u,
+		VSB_printf(vsb, "[%u, %d, \"%s\"]", nh, i,
 		    nh ? "healthy" : "sick");
 	else
-		VSB_printf(vsb, "%u/%u\t%s", nh, u, nh ? "healthy" : "sick");
+		VSB_printf(vsb, "%u/%d\t%s", nh, i, nh ? "healthy" : "sick");
 }
 
 VCL_VOID v_matchproto_(td_directors_shard_backend)


More information about the varnish-commit mailing list