gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r20663 - gnunet/src/namestore


From: gnunet
Subject: [GNUnet-SVN] r20663 - gnunet/src/namestore
Date: Wed, 21 Mar 2012 18:22:21 +0100

Author: wachs
Date: 2012-03-21 18:22:21 +0100 (Wed, 21 Mar 2012)
New Revision: 20663

Modified:
   gnunet/src/namestore/gnunet-service-namestore.c
Log:
- remove name if no rec is left


Modified: gnunet/src/namestore/gnunet-service-namestore.c
===================================================================
--- gnunet/src/namestore/gnunet-service-namestore.c     2012-03-21 16:41:06 UTC 
(rev 20662)
+++ gnunet/src/namestore/gnunet-service-namestore.c     2012-03-21 17:22:21 UTC 
(rev 20663)
@@ -985,6 +985,7 @@
 {
   struct GNUNET_NAMESTORE_RecordData *rd;
   struct GNUNET_CRYPTO_RsaPrivateKey *pkey;
+  int remove_name;
   uint16_t op_res;
 };
 
@@ -1046,6 +1047,26 @@
     return;
   }
 
+  if (rd_count-1 == 0)
+  {
+    struct GNUNET_CRYPTO_ShortHashCode pubkey_hash;
+    GNUNET_CRYPTO_short_hash (zone_key, sizeof (struct 
GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &pubkey_hash);
+    res = GSN_database->remove_records (GSN_database->cls,
+                                        &pubkey_hash,
+                                        name);
+    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+                "No records left for name `%s', removing name\n",
+                name, res);
+    if (GNUNET_OK != res)
+    {
+      /* Could put records into database */
+      rrc->op_res = 4;
+      return;
+    }
+    rrc->op_res = 0;
+    return;
+  }
+
   rd_count_new = rd_count -1;
   struct GNUNET_NAMESTORE_RecordData rd_new[rd_count_new];
 




reply via email to

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