diff src/protocols/rendezvous/mdns.c @ 8840:01c3db200c8f

[gaim-migrate @ 9607] Some good rendezvous fixes. Now if I could just find out why iTunes complains that it can't access my mp3 server when I sign on with Gaim... And 0 is a valid file descriptor. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Wed, 28 Apr 2004 04:38:12 +0000
parents 518455386538
children ad3633f92f91
line wrap: on
line diff
--- a/src/protocols/rendezvous/mdns.c	Wed Apr 28 03:57:42 2004 +0000
+++ b/src/protocols/rendezvous/mdns.c	Wed Apr 28 04:38:12 2004 +0000
@@ -514,7 +514,12 @@
 static int
 mdns_getlength_rr(const ResourceRecord *rr)
 {
-	return mdns_getlength_name(rr->name) + 10 + rr->rdlength;
+	int rdlength = mdns_getlength_rr_rdata(rr->type, rr->rdata);
+
+	if ((rdlength == 0) && (rr->rdata != NULL))
+		rdlength = rr->rdlength;
+
+	return mdns_getlength_name(rr->name) + 10 + rdlength;
 }
 
 /**
@@ -808,9 +813,8 @@
 	int ret;
 	ResourceRecord *rr;
 
-	if ((name == NULL) || (strlen(name) > 255)) {
-		return -EINVAL;
-	}
+	g_return_val_if_fail(name != NULL, -EINVAL);
+	g_return_val_if_fail(strlen(name) <= 255, -EINVAL);
 
 	rr = (ResourceRecord *)g_malloc(sizeof(ResourceRecord));
 	rr->name = g_strdup(name);
@@ -833,9 +837,10 @@
 	int ret;
 	ResourceRecord *rr;
 
-	if ((name == NULL) || (strlen(name) > 255) || (domain == NULL) || (strlen(domain) > 255)) {
-		return -EINVAL;
-	}
+	g_return_val_if_fail(name != NULL, -EINVAL);
+	g_return_val_if_fail(strlen(name) <= 255, -EINVAL);
+	g_return_val_if_fail(domain != NULL, -EINVAL);
+	g_return_val_if_fail(strlen(domain) <= 255, -EINVAL);
 
 	rr = (ResourceRecord *)g_malloc(sizeof(ResourceRecord));
 	rr->name = g_strdup(name);
@@ -858,9 +863,8 @@
 	int ret;
 	ResourceRecord *rr;
 
-	if ((name == NULL) || (strlen(name) > 255)) {
-		return -EINVAL;
-	}
+	g_return_val_if_fail(name != NULL, -EINVAL);
+	g_return_val_if_fail(strlen(name) <= 255, -EINVAL);
 
 	rr = (ResourceRecord *)g_malloc(sizeof(ResourceRecord));
 	rr->name = g_strdup(name);
@@ -885,9 +889,8 @@
 	ResourceRecordRDataA *rdata;
 	int i;
 
-	if ((name == NULL) || (strlen(name) > 255)) {
-		return -EINVAL;
-	}
+	g_return_val_if_fail(name != NULL, -EINVAL);
+	g_return_val_if_fail(strlen(name) <= 255, -EINVAL);
 
 	rdata = g_malloc(16);
 	for (i = 0; i < 16; i++)
@@ -915,9 +918,8 @@
 	ResourceRecord *rr;
 	ResourceRecordRDataSRV *rdata;
 
-	if ((target == NULL) || (strlen(target) > 255)) {
-		return -EINVAL;
-	}
+	g_return_val_if_fail(name != NULL, -EINVAL);
+	g_return_val_if_fail(strlen(name) <= 255, -EINVAL);
 
 	rdata = g_malloc(sizeof(ResourceRecordRDataSRV));
 	rdata->port = port;