diff options
author | Daniel Silverstone <dsilvers@netsurf-browser.org> | 2010-12-20 10:31:59 +0000 |
---|---|---|
committer | Daniel Silverstone <dsilvers@netsurf-browser.org> | 2010-12-20 10:31:59 +0000 |
commit | 8f734e5b7af77517cb9b14fbc92c1aa10f3ce797 (patch) | |
tree | 09a75550bb409b94554de7bc00db4450b9e13573 /utils/ring.h | |
parent | 7d032d5fb747e818ed984e05ac5f316b1ba70b55 (diff) | |
download | netsurf-8f734e5b7af77517cb9b14fbc92c1aa10f3ce797.tar.gz netsurf-8f734e5b7af77517cb9b14fbc92c1aa10f3ce797.tar.bz2 |
Add RING_COUNTBYLWCHOST
svn path=/trunk/netsurf/; revision=11107
Diffstat (limited to 'utils/ring.h')
-rw-r--r-- | utils/ring.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/utils/ring.h b/utils/ring.h index cc93b87fc..587240ce0 100644 --- a/utils/ring.h +++ b/utils/ring.h @@ -106,6 +106,23 @@ } while (p != ring); \ } else sizevar = 0 +/** Count the number of elements in the ring which match the provided lwc_hostname */ +#define RING_COUNTBYLWCHOST(ringtype, ring, sizevar, lwc_hostname) \ + /*LOG(("RING_COUNTBYHOST(%s, %s)", #ring, hostname));*/ \ + if (ring) { \ + ringtype *p = ring; \ + sizevar = 0; \ + do { \ + bool matches = false; \ + if (lwc_string_caseless_isequal(p->lwc_host, \ + lwc_hostname, \ + &matches) == lwc_error_ok) \ + if (matches) \ + sizevar++; \ + p = p->r_next; \ + } while (p != ring); \ + } else sizevar = 0 + /* * Ring iteration works as follows: * |