diff options
Diffstat (limited to 'src/fs/fs_file_information.c')
-rw-r--r-- | src/fs/fs_file_information.c | 15 |
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); |