MINOR: ist: Add IST_NULL macro

`IST_NULL` is equivalent to an `struct ist` with `.ptr = NULL` and
`.len = 0`.
This commit is contained in:
Tim Duesterhus 2020-03-05 17:56:30 +01:00 committed by Willy Tarreau
parent 6cbe62b858
commit 241e29ef9c
4 changed files with 9 additions and 6 deletions

View File

@ -133,6 +133,9 @@ struct ist {
/* makes a constant ist from a constant string, for use in array declarations */
#define IST(str) { .ptr = str "", .len = (sizeof str "") - 1 }
/* IST_NULL is equivalent to an `ist` with `.ptr = NULL` and `.len = 0` */
#define IST_NULL ((const struct ist){ .ptr = 0, .len = 0 })
/* makes an ist from a regular zero terminated string. Null has length 0.
* Constants are detected and replaced with constant initializers. Other values
* are measured by hand without strlen() as it's much cheaper and inlinable on
@ -705,7 +708,7 @@ static inline struct ist istist(const struct ist ist, const struct ist pat)
}
return ist2(ret.ptr - 1, ret.len + 1);
}
return ist2(NULL, 0);
return IST_NULL;
}
/*

View File

@ -406,7 +406,7 @@ int hpack_decode_frame(struct hpack_dht *dht, const uint8_t *raw, uint32_t len,
value = ist2(vtrash, vlen);
}
name = ist2(NULL, 0);
name = IST_NULL;
if (!must_index)
name.len = hpack_idx_to_phdr(idx);
@ -458,7 +458,7 @@ int hpack_decode_frame(struct hpack_dht *dht, const uint8_t *raw, uint32_t len,
}
/* put an end marker */
list[ret].n = list[ret].v = ist2(NULL, 0);
list[ret].n = list[ret].v = IST_NULL;
ret++;
leave:

View File

@ -551,7 +551,7 @@ struct ist http_get_authority(const struct ist uri, int no_userinfo)
return ist2(start, end - start);
not_found:
return ist2(NULL, 0);
return IST_NULL;
}
/* Parse the URI from the given transaction (which is assumed to be in request
@ -601,7 +601,7 @@ struct ist http_get_path(const struct ist uri)
return ist2(ptr, end - ptr);
not_found:
return ist2(NULL, 0);
return IST_NULL;
}
/*

View File

@ -533,7 +533,7 @@ int http_remove_header(struct htx *htx, struct http_hdr_ctx *ctx)
blk = htx_remove_blk(htx, blk);
if (blk || htx_is_empty(htx)) {
ctx->blk = blk;
ctx->value = ist2(NULL, 0);
ctx->value = IST_NULL;
ctx->lws_before = ctx->lws_after = 0;
}
else {