diff options
Diffstat (limited to 'src/libtipidee/tipidee_headers_get_content_length.c')
| -rw-r--r-- | src/libtipidee/tipidee_headers_get_content_length.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/libtipidee/tipidee_headers_get_content_length.c b/src/libtipidee/tipidee_headers_get_content_length.c new file mode 100644 index 0000000..0b29ece --- /dev/null +++ b/src/libtipidee/tipidee_headers_get_content_length.c @@ -0,0 +1,17 @@ +/* ISC license. */ + +#include <stddef.h> +#include <limits.h> + +#include <skalibs/types.h> + +#include <tipidee/headers.h> + +ssize_t tipidee_headers_get_content_length (tipidee_headers const *hdr) +{ + size_t n ; + char const *x = tipidee_headers_search(hdr, "Content-Length") ; + if (!x) return 0 ; + if (!size0_scan(x, &n) || n > SSIZE_MAX) return -1 ; + return n ; +} |
