diff options
Diffstat (limited to 'blob.c')
-rw-r--r-- | blob.c | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -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) |