gnunet-svn
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]