aboutsummaryrefslogtreecommitdiff
path: root/src/fs/fs_file_information.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fs/fs_file_information.c')
-rw-r--r--src/fs/fs_file_information.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/fs/fs_file_information.c b/src/fs/fs_file_information.c
index 0925d57ec..4ea264892 100644
--- a/src/fs/fs_file_information.c
+++ b/src/fs/fs_file_information.c
@@ -341,7 +341,6 @@ dir_scan_cb (void *cls, const char *filename)
341 struct DirScanCls *dsc = cls; 341 struct DirScanCls *dsc = cls;
342 struct stat sbuf; 342 struct stat sbuf;
343 struct GNUNET_FS_FileInformation *fi; 343 struct GNUNET_FS_FileInformation *fi;
344 struct GNUNET_FS_Uri *ksk_uri;
345 struct GNUNET_FS_Uri *keywords; 344 struct GNUNET_FS_Uri *keywords;
346 struct GNUNET_CONTAINER_MetaData *meta; 345 struct GNUNET_CONTAINER_MetaData *meta;
347 346
@@ -370,13 +369,11 @@ dir_scan_cb (void *cls, const char *filename)
370 meta = GNUNET_CONTAINER_meta_data_create (); 369 meta = GNUNET_CONTAINER_meta_data_create ();
371 GNUNET_FS_meta_data_extract_from_file (meta, filename, dsc->extractors); 370 GNUNET_FS_meta_data_extract_from_file (meta, filename, dsc->extractors);
372 keywords = GNUNET_FS_uri_ksk_create_from_meta_data (meta); 371 keywords = GNUNET_FS_uri_ksk_create_from_meta_data (meta);
373 ksk_uri = GNUNET_FS_uri_ksk_canonicalize (keywords);
374 fi = GNUNET_FS_file_information_create_from_file (dsc->h, NULL, filename, 372 fi = GNUNET_FS_file_information_create_from_file (dsc->h, NULL, filename,
375 ksk_uri, meta, 373 keywords, meta,
376 dsc->do_index, dsc->bo); 374 dsc->do_index, dsc->bo);
377 GNUNET_CONTAINER_meta_data_destroy (meta); 375 GNUNET_CONTAINER_meta_data_destroy (meta);
378 GNUNET_FS_uri_destroy (keywords); 376 GNUNET_FS_uri_destroy (keywords);
379 GNUNET_FS_uri_destroy (ksk_uri);
380 } 377 }
381 dsc->proc (dsc->proc_cls, filename, fi); 378 dsc->proc (dsc->proc_cls, filename, fi);
382 return GNUNET_OK; 379 return GNUNET_OK;
@@ -723,7 +720,6 @@ GNUNET_FS_file_information_create_from_directory (struct GNUNET_FS_Handle *h,
723 struct EntryProcCls dc; 720 struct EntryProcCls dc;
724 const char *fn; 721 const char *fn;
725 const char *ss; 722 const char *ss;
726 struct GNUNET_FS_Uri *cksk;
727 char *dn; 723 char *dn;
728 struct GNUNET_FS_FileInformation *epos; 724 struct GNUNET_FS_FileInformation *epos;
729 unsigned int i; 725 unsigned int i;
@@ -747,21 +743,20 @@ GNUNET_FS_file_information_create_from_directory (struct GNUNET_FS_Handle *h,
747 &compute_directory_keywords, &cdmc); 743 &compute_directory_keywords, &cdmc);
748 GNUNET_CONTAINER_multihashmap_destroy (dc.metamap); 744 GNUNET_CONTAINER_multihashmap_destroy (dc.metamap);
749 GNUNET_CONTAINER_multihashmap_destroy (dc.keywordmap); 745 GNUNET_CONTAINER_multihashmap_destroy (dc.keywordmap);
750 GNUNET_FS_uri_ksk_add_keyword (cdmc.ksk, GNUNET_FS_DIRECTORY_MIME, GNUNET_NO);
751 cksk = GNUNET_FS_uri_ksk_canonicalize (cdmc.ksk);
752 746
753 /* remove keywords in children that are already in the 747 /* remove keywords in children that are already in the
754 * parent */ 748 * parent */
755 for (epos = dc.entries; NULL != epos; epos = epos->next) 749 for (epos = dc.entries; NULL != epos; epos = epos->next)
756 { 750 {
757 for (i = 0; i < cksk->data.ksk.keywordCount; i++) 751 for (i = 0; i < cdmc.ksk->data.ksk.keywordCount; i++)
758 { 752 {
759 kw = cksk->data.ksk.keywords[i]; 753 kw = cdmc.ksk->data.ksk.keywords[i];
760 GNUNET_FS_uri_ksk_remove_keyword (epos->keywords, &kw[1]); 754 GNUNET_FS_uri_ksk_remove_keyword (epos->keywords, &kw[1]);
761 } 755 }
762 } 756 }
757 GNUNET_FS_uri_ksk_add_keyword (cdmc.ksk, GNUNET_FS_DIRECTORY_MIME, GNUNET_NO);
763 ret = 758 ret =
764 GNUNET_FS_file_information_create_empty_directory (h, client_info, cksk, 759 GNUNET_FS_file_information_create_empty_directory (h, client_info, cdmc.ksk,
765 cdmc.meta, bo); 760 cdmc.meta, bo);
766 GNUNET_CONTAINER_meta_data_destroy (cdmc.meta); 761 GNUNET_CONTAINER_meta_data_destroy (cdmc.meta);
767 GNUNET_FS_uri_destroy (cdmc.ksk); 762 GNUNET_FS_uri_destroy (cdmc.ksk);