summaryrefslogtreecommitdiffstats
path: root/util.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2005-04-24 11:02:02 +0000
committerLennart Poettering <lennart@poettering.net>2005-04-24 11:02:02 +0000
commit4ccd2cdd5ae567dc2cb6c05ca5e5a9537a9dc1c4 (patch)
tree3ab225d1b7065e8d777fd953ea9b5610868cc808 /util.c
parent601f0a4ff139521db8f2999646717ec37005b984 (diff)
* add DNS packet name compression
git-svn-id: file:///home/lennart/svn/public/avahi/trunk@27 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
Diffstat (limited to 'util.c')
-rw-r--r--util.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/util.c b/util.c
index 3edaa88..0fcedc7 100644
--- a/util.c
+++ b/util.c
@@ -125,3 +125,34 @@ gint flx_age(const GTimeVal *a) {
return flx_timeval_diff(&now, a);
}
+
+gboolean flx_domain_equal(const gchar *a, const gchar *b) {
+ g_assert(a);
+ g_assert(b);
+
+ for (;;) {
+ if (*a == 0 && *b == 0)
+ return TRUE;
+
+ if (*a == 0 && *b == '.' && *(b+1) == 0)
+ return TRUE;
+
+ if (*a == '.' && *(a+1) == 0 && *b == 0)
+ return TRUE;
+
+ if (*a != *b)
+ return FALSE;
+
+ a++;
+ b++;
+ }
+}
+
+guint flx_domain_hash(const gchar *p) {
+ char t[256];
+ strncpy(t, p, sizeof(t)-1);
+ t[sizeof(t)-1] = 0;
+
+ return g_int_hash(t);
+}
+