aboutsummaryrefslogtreecommitdiffstats
path: root/src/libtipidee/tipidee_headers_get_content_length.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libtipidee/tipidee_headers_get_content_length.c')
-rw-r--r--src/libtipidee/tipidee_headers_get_content_length.c17
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 ;
+}