[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r28844 - in gnunet/src: dns include
From: |
gnunet |
Subject: |
[GNUnet-SVN] r28844 - in gnunet/src: dns include |
Date: |
Sat, 24 Aug 2013 12:25:58 +0200 |
Author: grothoff
Date: 2013-08-24 12:25:58 +0200 (Sat, 24 Aug 2013)
New Revision: 28844
Modified:
gnunet/src/dns/dnsparser.c
gnunet/src/include/gnunet_dnsparser_lib.h
Log:
-expose API for freeing DNS record members individually
Modified: gnunet/src/dns/dnsparser.c
===================================================================
--- gnunet/src/dns/dnsparser.c 2013-08-24 10:23:08 UTC (rev 28843)
+++ gnunet/src/dns/dnsparser.c 2013-08-24 10:25:58 UTC (rev 28844)
@@ -106,8 +106,8 @@
*
* @param soa record to free
*/
-static void
-free_soa (struct GNUNET_DNSPARSER_SoaRecord *soa)
+void
+GNUNET_DNSPARSER_free_soa (struct GNUNET_DNSPARSER_SoaRecord *soa)
{
if (NULL == soa)
return;
@@ -122,8 +122,8 @@
*
* @param srv record to free
*/
-static void
-free_srv (struct GNUNET_DNSPARSER_SrvRecord *srv)
+void
+GNUNET_DNSPARSER_free_srv (struct GNUNET_DNSPARSER_SrvRecord *srv)
{
if (NULL == srv)
return;
@@ -140,8 +140,8 @@
*
* @param mx record to free
*/
-static void
-free_mx (struct GNUNET_DNSPARSER_MxRecord *mx)
+void
+GNUNET_DNSPARSER_free_mx (struct GNUNET_DNSPARSER_MxRecord *mx)
{
if (NULL == mx)
return;
@@ -155,20 +155,20 @@
*
* @param r record to free
*/
-static void
-free_record (struct GNUNET_DNSPARSER_Record *r)
+void
+GNUNET_DNSPARSER_free_record (struct GNUNET_DNSPARSER_Record *r)
{
GNUNET_free_non_null (r->name);
switch (r->type)
{
case GNUNET_DNSPARSER_TYPE_MX:
- free_mx (r->data.mx);
+ GNUNET_DNSPARSER_free_mx (r->data.mx);
break;
case GNUNET_DNSPARSER_TYPE_SOA:
- free_soa (r->data.soa);
+ GNUNET_DNSPARSER_free_soa (r->data.soa);
break;
case GNUNET_DNSPARSER_TYPE_SRV:
- free_srv (r->data.srv);
+ GNUNET_DNSPARSER_free_srv (r->data.srv);
break;
case GNUNET_DNSPARSER_TYPE_NS:
case GNUNET_DNSPARSER_TYPE_CNAME:
@@ -382,7 +382,7 @@
(NULL == soa->rname) ||
(*off + sizeof (struct GNUNET_TUN_DnsSoaRecord) > udp_payload_length) )
{
- free_soa (soa);
+ GNUNET_DNSPARSER_free_soa (soa);
*off = old_off;
return NULL;
}
@@ -429,7 +429,7 @@
off);
if (NULL == mx->mxhost)
{
- free_mx (mx);
+ GNUNET_DNSPARSER_free_mx (mx);
*off = old_off;
return NULL;
}
@@ -485,7 +485,7 @@
tok = strtok (NULL, ".");
if ( (NULL == tok) || ('_' != *tok) )
{
- free_srv (srv);
+ GNUNET_DNSPARSER_free_srv (srv);
GNUNET_free (ndup);
*off = old_off;
return NULL;
@@ -494,7 +494,7 @@
tok = strtok (NULL, ".");
if (NULL == tok)
{
- free_srv (srv);
+ GNUNET_DNSPARSER_free_srv (srv);
GNUNET_free (ndup);
*off = old_off;
return NULL;
@@ -506,7 +506,7 @@
off);
if (NULL == srv->target)
{
- free_srv (srv);
+ GNUNET_DNSPARSER_free_srv (srv);
*off = old_off;
return NULL;
}
@@ -699,13 +699,13 @@
GNUNET_free_non_null (p->queries[i].name);
GNUNET_free_non_null (p->queries);
for (i=0;i<p->num_answers;i++)
- free_record (&p->answers[i]);
+ GNUNET_DNSPARSER_free_record (&p->answers[i]);
GNUNET_free_non_null (p->answers);
for (i=0;i<p->num_authority_records;i++)
- free_record (&p->authority_records[i]);
+ GNUNET_DNSPARSER_free_record (&p->authority_records[i]);
GNUNET_free_non_null (p->authority_records);
for (i=0;i<p->num_additional_records;i++)
- free_record (&p->additional_records[i]);
+ GNUNET_DNSPARSER_free_record (&p->additional_records[i]);
GNUNET_free_non_null (p->additional_records);
GNUNET_free (p);
}
Modified: gnunet/src/include/gnunet_dnsparser_lib.h
===================================================================
--- gnunet/src/include/gnunet_dnsparser_lib.h 2013-08-24 10:23:08 UTC (rev
28843)
+++ gnunet/src/include/gnunet_dnsparser_lib.h 2013-08-24 10:25:58 UTC (rev
28844)
@@ -641,5 +641,42 @@
size_t udp_payload_length,
size_t *off);
+/* ***************** low-level deallocation API ******************** */
+/**
+ * Free the given DNS record.
+ *
+ * @param r record to free
+ */
+void
+GNUNET_DNSPARSER_free_record (struct GNUNET_DNSPARSER_Record *r);
+
+
+/**
+ * Free MX information record.
+ *
+ * @param mx record to free
+ */
+void
+GNUNET_DNSPARSER_free_mx (struct GNUNET_DNSPARSER_MxRecord *mx);
+
+
+/**
+ * Free SRV information record.
+ *
+ * @param srv record to free
+ */
+void
+GNUNET_DNSPARSER_free_srv (struct GNUNET_DNSPARSER_SrvRecord *srv);
+
+
+/**
+ * Free SOA information record.
+ *
+ * @param soa record to free
+ */
+void
+GNUNET_DNSPARSER_free_soa (struct GNUNET_DNSPARSER_SoaRecord *soa);
+
+
#endif
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r28844 - in gnunet/src: dns include,
gnunet <=