Skip to content

Commit

Permalink
tweak
Browse files Browse the repository at this point in the history
  • Loading branch information
i110 committed Aug 17, 2018
1 parent 7323893 commit 9b862da
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 9 deletions.
12 changes: 6 additions & 6 deletions include/h2o.h
Expand Up @@ -110,7 +110,7 @@ typedef struct st_h2o_logconf_t h2o_logconf_t;
typedef struct st_h2o_headers_command_t h2o_headers_command_t;

typedef struct st_h2o_header_flags_t {
unsigned char token_index; /* 1-origin, 0 means not token */
unsigned char token_index_plus1; /* 1-origin, 0 means not token */
char http2_static_table_name_index; /* non-zero if any */
unsigned char proxy_should_drop_for_req : 1;
unsigned char proxy_should_drop_for_res : 1;
Expand Down Expand Up @@ -1228,7 +1228,7 @@ int h2o_iovec_is_token(const h2o_iovec_t *buf);
/* headers */

static int h2o_header_name_is_equal(const h2o_header_t *x, const h2o_header_t *y);
static int h2o_header_validate(const h2o_header_t *header);
static void h2o_header_validate(const h2o_header_t *header);
/**
* returns an boolean value if given header's name is a token, with validation
*/
Expand Down Expand Up @@ -2090,15 +2090,15 @@ inline int h2o_header_name_is_equal(const h2o_header_t *x, const h2o_header_t *y
}
}

inline int h2o_header_validate(const h2o_header_t *header)
inline void h2o_header_validate(const h2o_header_t *header)
{
return header->flags.token_index == 0 || header->name == &h2o__tokens[header->flags.token_index - 1].buf;
assert(header->flags.token_index_plus1 == 0 || header->name == &h2o__tokens[header->flags.token_index_plus1 - 1].buf);
}

inline int h2o_header_is_token(const h2o_header_t *header)
{
assert(h2o_header_validate(header));
return header->flags.token_index != 0;
h2o_header_validate(header);
return header->flags.token_index_plus1 != 0;
}

inline h2o_conn_t *h2o_create_connection(size_t sz, h2o_context_t *ctx, h2o_hostconf_t **hosts, struct timeval connected_at,
Expand Down
6 changes: 3 additions & 3 deletions lib/http2/hpack.c
Expand Up @@ -679,7 +679,7 @@ static uint8_t *do_encode_header(h2o_hpack_header_table_t *header_table, uint8_t
size_t header_table_index = header_table->entry_start_index, n;
for (n = header_table->num_entries; n != 0; --n) {
struct st_h2o_hpack_header_table_entry_t *entry = header_table->entries + header_table_index;
if (flags.token_index != 0) {
if (flags.token_index_plus1 != 0) {
if (name != entry->name)
goto Next;
} else {
Expand Down Expand Up @@ -730,7 +730,7 @@ static uint8_t *do_encode_header(h2o_hpack_header_table_t *header_table, uint8_t
struct st_h2o_hpack_header_table_entry_t *entry =
header_table_add(header_table, name->len + value->len + HEADER_TABLE_ENTRY_SIZE_OFFSET, 32);
if (entry != NULL) {
if (flags.token_index != 0) {
if (flags.token_index_plus1 != 0) {
entry->name = (h2o_iovec_t *)name;
} else {
entry->name = alloc_buf(NULL, name->len);
Expand All @@ -748,7 +748,7 @@ static uint8_t *do_encode_header(h2o_hpack_header_table_t *header_table, uint8_t

static uint8_t *encode_header(h2o_hpack_header_table_t *header_table, uint8_t *dst, h2o_header_t *header)
{
assert(h2o_header_validate(header));
h2o_header_validate(header);
return do_encode_header(header_table, dst, header->name, &header->value, header->flags);
}

Expand Down

0 comments on commit 9b862da

Please sign in to comment.