gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r22615 - gnunet/src/gns


From: gnunet
Subject: [GNUnet-SVN] r22615 - gnunet/src/gns
Date: Wed, 11 Jul 2012 22:59:17 +0200

Author: schanzen
Date: 2012-07-11 22:59:17 +0200 (Wed, 11 Jul 2012)
New Revision: 22615

Modified:
   gnunet/src/gns/gns_api.c
Log:
-fix

Modified: gnunet/src/gns/gns_api.c
===================================================================
--- gnunet/src/gns/gns_api.c    2012-07-11 20:43:26 UTC (rev 22614)
+++ gnunet/src/gns/gns_api.c    2012-07-11 20:59:17 UTC (rev 22615)
@@ -58,11 +58,6 @@
    */
   struct GNUNET_GNS_LookupRequest *prev;
 
-  /**
-   * associated pending message
-   */
-  struct PendingMessage *pending_msg;
-
   /* request id */
   uint64_t r_id;
   
@@ -93,11 +88,6 @@
    */
   struct GNUNET_GNS_ShortenRequest *prev;
 
-  /**
-   * associated pending message
-   */
-  struct PendingMessage *pending_msg;
-
   /* request id */
   uint64_t r_id;
   
@@ -128,11 +118,6 @@
    */
   struct GNUNET_GNS_GetAuthRequest *prev;
 
-  /**
-   * associated pending message
-   */
-  struct PendingMessage *pending_msg;
-
   /* request id */
   uint32_t r_id;
   
@@ -719,14 +704,24 @@
 void
 GNUNET_GNS_cancel_lookup_request (struct GNUNET_GNS_LookupRequest *lr)
 {
+  struct PendingMessage *tmp;
   GNUNET_assert (NULL != lr->gns_handle);
+  
+  for (tmp = lr->gns_handle->pending_head;
+       NULL != tmp; tmp = tmp->next)
+  {
+    if (tmp->r_id == lr->r_id)
+      break;
+  }
 
-  GNUNET_CONTAINER_DLL_remove (lr->gns_handle->pending_head,
-                               lr->gns_handle->pending_tail,
-                               lr->pending_msg);
+  if (NULL != tmp)
+  {
+    GNUNET_CONTAINER_DLL_remove (lr->gns_handle->pending_head,
+                                 lr->gns_handle->pending_tail,
+                                 tmp);
+    GNUNET_free (tmp);
+  }
 
-  GNUNET_free (lr->pending_msg);
-
   GNUNET_CONTAINER_DLL_remove (lr->gns_handle->lookup_head,
                                lr->gns_handle->lookup_tail,
                                lr);
@@ -743,14 +738,24 @@
 void
 GNUNET_GNS_cancel_shorten_request (struct GNUNET_GNS_ShortenRequest *sr)
 {
+  struct PendingMessage *tmp;
   GNUNET_assert (NULL != sr->gns_handle);
+  
+  for (tmp = sr->gns_handle->pending_head;
+       NULL != tmp; tmp = tmp->next)
+  {
+    if (tmp->r_id == sr->r_id)
+      break;
+  }
 
-  GNUNET_CONTAINER_DLL_remove (sr->gns_handle->pending_head,
-                               sr->gns_handle->pending_tail,
-                               sr->pending_msg);
+  if (NULL != tmp)
+  {
+    GNUNET_CONTAINER_DLL_remove (sr->gns_handle->pending_head,
+                                 sr->gns_handle->pending_tail,
+                                 tmp);
+    GNUNET_free (tmp);
+  }
 
-  GNUNET_free (sr->pending_msg);
-
   GNUNET_CONTAINER_DLL_remove (sr->gns_handle->shorten_head,
                                sr->gns_handle->shorten_tail,
                                sr);
@@ -767,14 +772,24 @@
 void
 GNUNET_GNS_cancel_get_auth_request (struct GNUNET_GNS_GetAuthRequest *gar)
 {
+  struct PendingMessage *tmp;
   GNUNET_assert (NULL != gar->gns_handle);
+  
+  for (tmp = gar->gns_handle->pending_head;
+       NULL != tmp; tmp = tmp->next)
+  {
+    if (tmp->r_id == gar->r_id)
+      break;
+  }
 
-  GNUNET_CONTAINER_DLL_remove (gar->gns_handle->pending_head,
-                               gar->gns_handle->pending_tail,
-                               gar->pending_msg);
+  if (NULL != tmp)
+  {
+    GNUNET_CONTAINER_DLL_remove (gar->gns_handle->pending_head,
+                                 gar->gns_handle->pending_tail,
+                                 tmp);
+    GNUNET_free (tmp);
+  }
 
-  GNUNET_free (gar->pending_msg);
-
   GNUNET_CONTAINER_DLL_remove (gar->gns_handle->get_auth_head,
                                gar->gns_handle->get_auth_tail,
                                gar);
@@ -842,7 +857,7 @@
   memset (pending, 0, (sizeof (struct PendingMessage) + msize));
   
   pending->size = msize;
-  lr->pending_msg = pending;
+  pending->r_id = lr->r_id;
 
   lookup_msg = (struct GNUNET_GNS_ClientLookupMessage *) &pending[1];
   lookup_msg->header.type = htons (GNUNET_MESSAGE_TYPE_GNS_LOOKUP);
@@ -957,7 +972,7 @@
   memset(pending, 0, (sizeof (struct PendingMessage) + msize));
   
   pending->size = msize;
-  sr->pending_msg = pending;
+  pending->r_id = sr->r_id;
 
   shorten_msg = (struct GNUNET_GNS_ClientShortenMessage *) &pending[1];
   shorten_msg->header.type = htons (GNUNET_MESSAGE_TYPE_GNS_SHORTEN);
@@ -1053,7 +1068,7 @@
   memset (pending, 0, (sizeof (struct PendingMessage) + msize));
   
   pending->size = msize;
-  gar->pending_msg = pending;
+  pending->r_id = gar->r_id;
 
   get_auth_msg = (struct GNUNET_GNS_ClientGetAuthMessage *) &pending[1];
   get_auth_msg->header.type = htons (GNUNET_MESSAGE_TYPE_GNS_GET_AUTH);




reply via email to

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