summaryrefslogtreecommitdiffstats
path: root/blob.c
diff options
context:
space:
mode:
Diffstat (limited to 'blob.c')
-rw-r--r--blob.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/blob.c b/blob.c
index 81722d2..f6daef1 100644
--- a/blob.c
+++ b/blob.c
@@ -52,6 +52,24 @@ int blob_cmp(blob_t a, blob_t b)
return memcmp(a.ptr, b.ptr, a.len);
}
+unsigned long blob_inet_addr(blob_t b)
+{
+ unsigned long ip = 0;
+ int i;
+
+ for (i = 0; i < 3; i++) {
+ ip += blob_pull_uint(&b, 10);
+ ip <<= 8;
+ if (!blob_pull_matching(&b, BLOB_STR(".")))
+ return 0;
+ }
+ ip += blob_pull_uint(&b, 10);
+ if (b.len != 0)
+ return 0;
+ return ip;
+}
+
+
blob_t blob_pushed(blob_t buffer, blob_t left)
{
if (buffer.ptr + buffer.len != left.ptr + left.len)