[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