From ffd8df879dea5b306b1a1615c2eabe0d463a3a3b Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Fri, 27 Oct 2023 14:33:26 +0000 Subject: custom-headers revamp, can be removed now Signed-off-by: Laurent Bercot --- src/libtipidee/tipidee_response_header_preparebuiltin.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src/libtipidee/tipidee_response_header_preparebuiltin.c') diff --git a/src/libtipidee/tipidee_response_header_preparebuiltin.c b/src/libtipidee/tipidee_response_header_preparebuiltin.c index a04b666..56978c7 100644 --- a/src/libtipidee/tipidee_response_header_preparebuiltin.c +++ b/src/libtipidee/tipidee_response_header_preparebuiltin.c @@ -18,11 +18,15 @@ int tipidee_response_header_preparebuiltin (tipidee_response_header *tab, uint32 if (pos++ >= len) return 0 ; tab[i].options = (uint8_t)s[pos] ; if (pos++ >= len) return 0 ; - tab[i].value = s + pos ; - next = memchr(s + pos, 0, len - pos) ; - if (!next) return 0 ; - pos = next - s ; - if (pos++ >= len) return 0 ; + if (tab[i].options & 0x80) tab[i].value = 0 ; + else + { + tab[i].value = s + pos ; + next = memchr(s + pos, 0, len - pos) ; + if (!next) return 0 ; + pos = next - s ; + if (pos++ >= len) return 0 ; + } } return pos == len ; } -- cgit v1.3.1