gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r13409 - in gnunet/src: fs include


From: gnunet
Subject: [GNUnet-SVN] r13409 - in gnunet/src: fs include
Date: Wed, 27 Oct 2010 00:26:09 +0200

Author: grothoff
Date: 2010-10-27 00:26:09 +0200 (Wed, 27 Oct 2010)
New Revision: 13409

Modified:
   gnunet/src/fs/fs_uri.c
   gnunet/src/include/gnunet_fs_service.h
Log:
api to remove keyword

Modified: gnunet/src/fs/fs_uri.c
===================================================================
--- gnunet/src/fs/fs_uri.c      2010-10-26 22:20:20 UTC (rev 13408)
+++ gnunet/src/fs/fs_uri.c      2010-10-26 22:26:09 UTC (rev 13409)
@@ -799,6 +799,37 @@
 
 
 /**
+ * Remove the given keyword from the set of keywords represented by the URI.
+ * Does nothing if the keyword is not present.
+ *
+ * @param uri ksk uri to modify
+ * @param keyword keyword to add
+ */
+void
+GNUNET_FS_uri_ksk_remove_keyword (struct GNUNET_FS_Uri *uri,
+                                 const char *keyword)
+{
+  unsigned int i;
+  char *old;
+
+  GNUNET_assert (uri->type == ksk);
+  for (i = 0; i < uri->data.ksk.keywordCount; i++)
+    {
+      old = uri->data.ksk.keywords[i];
+      if (0 == strcmp (&old[1], keyword))
+       {
+         uri->data.ksk.keywords[i] = 
uri->data.ksk.keywords[uri->data.ksk.keywordCount-1];
+         GNUNET_array_grow (uri->data.ksk.keywords,
+                            uri->data.ksk.keywordCount,
+                            uri->data.ksk.keywordCount - 1);
+         GNUNET_free (old);
+         return;
+       }
+    }
+}
+
+
+/**
  * Obtain the identity of the peer offering the data
  *
  * @param uri the location URI to inspect

Modified: gnunet/src/include/gnunet_fs_service.h
===================================================================
--- gnunet/src/include/gnunet_fs_service.h      2010-10-26 22:20:20 UTC (rev 
13408)
+++ gnunet/src/include/gnunet_fs_service.h      2010-10-26 22:26:09 UTC (rev 
13409)
@@ -129,6 +129,18 @@
 
 
 /**
+ * Remove the given keyword from the set of keywords represented by the URI.
+ * Does nothing if the keyword is not present.
+ *
+ * @param uri ksk uri to modify
+ * @param keyword keyword to add
+ */
+void
+GNUNET_FS_uri_ksk_remove_keyword (struct GNUNET_FS_Uri *uri,
+                                 const char *keyword);
+
+
+/**
  * Convert a UTF-8 String to a URI.
  *
  * @param uri string to parse




reply via email to

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