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 */ /* makes a constant ist from a constant string, for use in array declarations */
#define IST(str) { .ptr = str "", .len = (sizeof str "") - 1 } #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. /* makes an ist from a regular zero terminated string. Null has length 0.
* Constants are detected and replaced with constant initializers. Other values * Constants are detected and replaced with constant initializers. Other values
* are measured by hand without strlen() as it's much cheaper and inlinable on * 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(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); value = ist2(vtrash, vlen);
} }
name = ist2(NULL, 0); name = IST_NULL;
if (!must_index) if (!must_index)
name.len = hpack_idx_to_phdr(idx); 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 */ /* put an end marker */
list[ret].n = list[ret].v = ist2(NULL, 0); list[ret].n = list[ret].v = IST_NULL;
ret++; ret++;
leave: leave:

View File

@ -551,7 +551,7 @@ struct ist http_get_authority(const struct ist uri, int no_userinfo)
return ist2(start, end - start); return ist2(start, end - start);
not_found: not_found:
return ist2(NULL, 0); return IST_NULL;
} }
/* Parse the URI from the given transaction (which is assumed to be in request /* 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); return ist2(ptr, end - ptr);
not_found: 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); blk = htx_remove_blk(htx, blk);
if (blk || htx_is_empty(htx)) { if (blk || htx_is_empty(htx)) {
ctx->blk = blk; ctx->blk = blk;
ctx->value = ist2(NULL, 0); ctx->value = IST_NULL;
ctx->lws_before = ctx->lws_after = 0; ctx->lws_before = ctx->lws_after = 0;
} }
else { else {