aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2012-03-21 17:22:21 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2012-03-21 17:22:21 +0000
commit05f760855eafbfcfc1f99e290f8a1a28b399b686 (patch)
tree56610e6595478109af1d35a90c7d1f82d0720c1c /src
parentb99555d0cf6abbf74b4adab736658ed44ea2f3bd (diff)
downloadgnunet-05f760855eafbfcfc1f99e290f8a1a28b399b686.tar.gz
gnunet-05f760855eafbfcfc1f99e290f8a1a28b399b686.zip
- remove name if no rec is left
Diffstat (limited to 'src')
-rw-r--r--src/namestore/gnunet-service-namestore.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/namestore/gnunet-service-namestore.c b/src/namestore/gnunet-service-namestore.c
index 5647dd311..493d1f574 100644
--- a/src/namestore/gnunet-service-namestore.c
+++ b/src/namestore/gnunet-service-namestore.c
@@ -985,6 +985,7 @@ struct RemoveRecordContext
985{ 985{
986 struct GNUNET_NAMESTORE_RecordData *rd; 986 struct GNUNET_NAMESTORE_RecordData *rd;
987 struct GNUNET_CRYPTO_RsaPrivateKey *pkey; 987 struct GNUNET_CRYPTO_RsaPrivateKey *pkey;
988 int remove_name;
988 uint16_t op_res; 989 uint16_t op_res;
989}; 990};
990 991
@@ -1046,6 +1047,26 @@ handle_record_remove_it (void *cls,
1046 return; 1047 return;
1047 } 1048 }
1048 1049
1050 if (rd_count-1 == 0)
1051 {
1052 struct GNUNET_CRYPTO_ShortHashCode pubkey_hash;
1053 GNUNET_CRYPTO_short_hash (zone_key, sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), &pubkey_hash);
1054 res = GSN_database->remove_records (GSN_database->cls,
1055 &pubkey_hash,
1056 name);
1057 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
1058 "No records left for name `%s', removing name\n",
1059 name, res);
1060 if (GNUNET_OK != res)
1061 {
1062 /* Could put records into database */
1063 rrc->op_res = 4;
1064 return;
1065 }
1066 rrc->op_res = 0;
1067 return;
1068 }
1069
1049 rd_count_new = rd_count -1; 1070 rd_count_new = rd_count -1;
1050 struct GNUNET_NAMESTORE_RecordData rd_new[rd_count_new]; 1071 struct GNUNET_NAMESTORE_RecordData rd_new[rd_count_new];
1051 1072