fix
[oweals/gnunet.git] / src / fs / fs_getopt.c
index 8afe498523c7c390ba0a7e5a7becf9087d5b0d0c..f985ed8d0555c474f4a743b105bfa88a181b3cb5 100644 (file)
  * @author Igor Wronsky, Christian Grothoff
  */
 #include "platform.h"
-#include "gnunet_fs_lib.h"
+#include "gnunet_fs_service.h"
+#include "fs.h"
 
-
-
-/* ******************** command-line option parsing API *********************** */
+/* ******************** command-line option parsing API ******************** */
 
 /**
  * Command-line option parser function that allows the user
@@ -43,7 +42,7 @@
  * @return GNUNET_OK on success
  */
 int
-GNUNET_FS_getopt_configure_set_keywords (GNUNET_GETOPT_CommandLineProcessorContext* ctx, 
+GNUNET_FS_getopt_set_keywords (struct GNUNET_GETOPT_CommandLineProcessorContext* ctx, 
                                         void *scls,
                                         const char *option,
                                         const char *value)
@@ -55,7 +54,7 @@ GNUNET_FS_getopt_configure_set_keywords (GNUNET_GETOPT_CommandLineProcessorConte
 
   if (u == NULL)
     {
-      u = GNUNET_malloc (sizeof (struct GNUNET_ECRS_URI));
+      u = GNUNET_malloc (sizeof (struct GNUNET_FS_Uri));
       *uri = u;
       u->type = ksk;
       u->data.ksk.keywordCount = 0;
@@ -125,14 +124,14 @@ GNUNET_FS_getopt_configure_set_keywords (GNUNET_GETOPT_CommandLineProcessorConte
  * @return GNUNET_OK on success
  */
 int
-GNUNET_FS_getopt_configure_set_metadata (GNUNET_GETOPT_CommandLineProcessorContext* ctx, 
+GNUNET_FS_getopt_set_metadata (struct GNUNET_GETOPT_CommandLineProcessorContext* ctx, 
                                         void *scls,
                                         const char *option,
                                         const char *value)
 
 {
   struct GNUNET_CONTAINER_MetaData **mm = scls;
-  EXTRACTOR_KeywordType type;
+  enum EXTRACTOR_MetaType type;
   const char *typename;
   const char *typename_i18n;
   struct GNUNET_CONTAINER_MetaData *meta;
@@ -145,24 +144,30 @@ GNUNET_FS_getopt_configure_set_metadata (GNUNET_GETOPT_CommandLineProcessorConte
       *mm = meta;
     }
 
-  tmp = GNUNET_STRINGS_to_utf8 (NULL, value, strlen (value),
+  tmp = GNUNET_STRINGS_to_utf8 (value, strlen (value),
 #if ENABLE_NLS
                                nl_langinfo (CODESET)
 #else
                                "utf-8"
 #endif
     );
-  type = EXTRACTOR_getHighestKeywordTypeNumber ();
+  type = EXTRACTOR_metatype_get_max ();
   while (type > 0)
     {
       type--;
-      typename = EXTRACTOR_getKeywordTypeAsString (type);
+      typename = EXTRACTOR_metatype_to_string (type);
       typename_i18n = dgettext (LIBEXTRACTOR_GETTEXT_DOMAIN, typename);
       if ((strlen (tmp) >= strlen (typename) + 1) &&
           (tmp[strlen (typename)] == ':') &&
           (0 == strncmp (typename, tmp, strlen (typename))))
         {
-          GNUNET_CONTAINER_meta_data_insert (meta, type, &tmp[strlen (typename) + 1]);
+          GNUNET_CONTAINER_meta_data_insert (meta, 
+                                            "<gnunet>",
+                                            type,
+                                            EXTRACTOR_METAFORMAT_UTF8,
+                                            "text/plain",
+                                            &tmp[strlen (typename) + 1],
+                                            strlen (&tmp[strlen (typename) + 1])+1);
           GNUNET_free (tmp);
           tmp = NULL;
           break;
@@ -171,8 +176,13 @@ GNUNET_FS_getopt_configure_set_metadata (GNUNET_GETOPT_CommandLineProcessorConte
           (tmp[strlen (typename_i18n)] == ':') &&
           (0 == strncmp (typename_i18n, tmp, strlen (typename_i18n))))
         {
-          GNUNET_CONTAINER_meta_data_insert (meta, type,
-                                            &tmp[strlen (typename_i18n) + 1]);
+          GNUNET_CONTAINER_meta_data_insert (meta,
+                                            "<gnunet>",
+                                            type,
+                                            EXTRACTOR_METAFORMAT_UTF8,
+                                            "text/plain",
+                                            &tmp[strlen (typename_i18n) + 1],
+                                            strlen (&tmp[strlen (typename_i18n) + 1]) + 1);
           GNUNET_free (tmp);
           tmp = NULL;
           break;
@@ -180,7 +190,13 @@ GNUNET_FS_getopt_configure_set_metadata (GNUNET_GETOPT_CommandLineProcessorConte
     }
   if (tmp != NULL)
     {
-      GNUNET_CONTAINER_meta_data_insert (meta, EXTRACTOR_UNKNOWN, tmp);
+      GNUNET_CONTAINER_meta_data_insert (meta, 
+                                        "<gnunet>",
+                                        EXTRACTOR_METATYPE_UNKNOWN, 
+                                        EXTRACTOR_METAFORMAT_UTF8,
+                                        "text/plain",
+                                        tmp,
+                                        strlen(tmp) + 1);
       GNUNET_free (tmp);
       printf (_
               ("Unknown metadata type in metadata option `%s'.  Using metadata type `unknown' instead.\n"),