aboutsummaryrefslogtreecommitdiff
path: root/src/fs/fs_file_information.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2011-08-15 21:54:06 +0000
committerChristian Grothoff <christian@grothoff.org>2011-08-15 21:54:06 +0000
commit5746309cb4be2073d550ad7a6885e918631dbc38 (patch)
tree89455bc4aadf977816b38df13f990372cd81d71a /src/fs/fs_file_information.c
parent6fd3e715cae09fa6e657c96f1c6f9711ee51f42f (diff)
downloadgnunet-5746309cb4be2073d550ad7a6885e918631dbc38.tar.gz
gnunet-5746309cb4be2073d550ad7a6885e918631dbc38.zip
indentation
Diffstat (limited to 'src/fs/fs_file_information.c')
-rw-r--r--src/fs/fs_file_information.c108
1 files changed, 41 insertions, 67 deletions
diff --git a/src/fs/fs_file_information.c b/src/fs/fs_file_information.c
index bb323bbbc..6809e3055 100644
--- a/src/fs/fs_file_information.c
+++ b/src/fs/fs_file_information.c
@@ -52,18 +52,13 @@
52 * @return always 0 to continue extracting 52 * @return always 0 to continue extracting
53 */ 53 */
54static int 54static int
55add_to_md (void *cls, 55add_to_md (void *cls, const char *plugin_name, enum EXTRACTOR_MetaType type,
56 const char *plugin_name, 56 enum EXTRACTOR_MetaFormat format, const char *data_mime_type,
57 enum EXTRACTOR_MetaType type, 57 const char *data, size_t data_len)
58 enum EXTRACTOR_MetaFormat format,
59 const char *data_mime_type, const char *data, size_t data_len)
60{ 58{
61 struct GNUNET_CONTAINER_MetaData *md = cls; 59 struct GNUNET_CONTAINER_MetaData *md = cls;
62 60
63 (void) GNUNET_CONTAINER_meta_data_insert (md, 61 (void) GNUNET_CONTAINER_meta_data_insert (md, plugin_name, type, format,
64 plugin_name,
65 type,
66 format,
67 data_mime_type, data, data_len); 62 data_mime_type, data, data_len);
68 return 0; 63 return 0;
69} 64}
@@ -76,8 +71,8 @@ add_to_md (void *cls,
76 * of meta-data items obtained 71 * of meta-data items obtained
77 */ 72 */
78int 73int
79GNUNET_FS_meta_data_extract_from_file (struct GNUNET_CONTAINER_MetaData 74GNUNET_FS_meta_data_extract_from_file (struct GNUNET_CONTAINER_MetaData *md,
80 *md, const char *filename, 75 const char *filename,
81 struct EXTRACTOR_PluginList *extractors) 76 struct EXTRACTOR_PluginList *extractors)
82{ 77{
83 int old; 78 int old;
@@ -160,13 +155,12 @@ GNUNET_FS_file_information_create_from_file (struct GNUNET_FS_Handle *h,
160 GNUNET_break (0); 155 GNUNET_break (0);
161 return NULL; 156 return NULL;
162 } 157 }
163 ret = GNUNET_FS_file_information_create_from_reader (h, 158 ret =
164 client_info, 159 GNUNET_FS_file_information_create_from_reader (h, client_info,
165 sbuf.st_size, 160 sbuf.st_size,
166 &GNUNET_FS_data_reader_file_, 161 &GNUNET_FS_data_reader_file_,
167 fi, 162 fi, keywords, meta,
168 keywords, 163 do_index, bo);
169 meta, do_index, bo);
170 if (ret == NULL) 164 if (ret == NULL)
171 return NULL; 165 return NULL;
172 ret->h = h; 166 ret->h = h;
@@ -179,8 +173,7 @@ GNUNET_FS_file_information_create_from_file (struct GNUNET_FS_Handle *h,
179#endif 173#endif
180 while (NULL != (ss = strstr (fn, DIR_SEPARATOR_STR))) 174 while (NULL != (ss = strstr (fn, DIR_SEPARATOR_STR)))
181 fn = ss + 1; 175 fn = ss + 1;
182 GNUNET_CONTAINER_meta_data_insert (ret->meta, 176 GNUNET_CONTAINER_meta_data_insert (ret->meta, "<gnunet>",
183 "<gnunet>",
184 EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME, 177 EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME,
185 EXTRACTOR_METAFORMAT_C_STRING, 178 EXTRACTOR_METAFORMAT_C_STRING,
186 "text/plain", fn, strlen (fn) + 1); 179 "text/plain", fn, strlen (fn) + 1);
@@ -206,8 +199,7 @@ GNUNET_FS_file_information_create_from_file (struct GNUNET_FS_Handle *h,
206 */ 199 */
207struct GNUNET_FS_FileInformation * 200struct GNUNET_FS_FileInformation *
208GNUNET_FS_file_information_create_from_data (struct GNUNET_FS_Handle *h, 201GNUNET_FS_file_information_create_from_data (struct GNUNET_FS_Handle *h,
209 void *client_info, 202 void *client_info, uint64_t length,
210 uint64_t length,
211 void *data, 203 void *data,
212 const struct GNUNET_FS_Uri 204 const struct GNUNET_FS_Uri
213 *keywords, 205 *keywords,
@@ -222,13 +214,10 @@ GNUNET_FS_file_information_create_from_data (struct GNUNET_FS_Handle *h,
222 GNUNET_break (0); 214 GNUNET_break (0);
223 return NULL; 215 return NULL;
224 } 216 }
225 return GNUNET_FS_file_information_create_from_reader (h, 217 return GNUNET_FS_file_information_create_from_reader (h, client_info, length,
226 client_info,
227 length,
228 &GNUNET_FS_data_reader_copy_, 218 &GNUNET_FS_data_reader_copy_,
229 data, 219 data, keywords, meta,
230 keywords, 220 do_index, bo);
231 meta, do_index, bo);
232} 221}
233 222
234 223
@@ -357,15 +346,13 @@ dir_scan_cb (void *cls, const char *filename)
357 346
358 if (0 != STAT (filename, &sbuf)) 347 if (0 != STAT (filename, &sbuf))
359 { 348 {
360 GNUNET_asprintf (&dsc->emsg, 349 GNUNET_asprintf (&dsc->emsg, _("`%s' failed on file `%s': %s"), "stat",
361 _("`%s' failed on file `%s': %s"), 350 filename, STRERROR (errno));
362 "stat", filename, STRERROR (errno));
363 return GNUNET_SYSERR; 351 return GNUNET_SYSERR;
364 } 352 }
365 if (S_ISDIR (sbuf.st_mode)) 353 if (S_ISDIR (sbuf.st_mode))
366 { 354 {
367 fi = GNUNET_FS_file_information_create_from_directory (dsc->h, 355 fi = GNUNET_FS_file_information_create_from_directory (dsc->h, NULL,
368 NULL,
369 filename, 356 filename,
370 dsc->scanner, 357 dsc->scanner,
371 dsc->scanner_cls, 358 dsc->scanner_cls,
@@ -383,11 +370,8 @@ dir_scan_cb (void *cls, const char *filename)
383 GNUNET_FS_meta_data_extract_from_file (meta, filename, dsc->extractors); 370 GNUNET_FS_meta_data_extract_from_file (meta, filename, dsc->extractors);
384 keywords = GNUNET_FS_uri_ksk_create_from_meta_data (meta); 371 keywords = GNUNET_FS_uri_ksk_create_from_meta_data (meta);
385 ksk_uri = GNUNET_FS_uri_ksk_canonicalize (keywords); 372 ksk_uri = GNUNET_FS_uri_ksk_canonicalize (keywords);
386 fi = GNUNET_FS_file_information_create_from_file (dsc->h, 373 fi = GNUNET_FS_file_information_create_from_file (dsc->h, NULL, filename,
387 NULL, 374 ksk_uri, meta,
388 filename,
389 ksk_uri,
390 meta,
391 dsc->do_index, dsc->bo); 375 dsc->do_index, dsc->bo);
392 GNUNET_CONTAINER_meta_data_destroy (meta); 376 GNUNET_CONTAINER_meta_data_destroy (meta);
393 GNUNET_FS_uri_destroy (keywords); 377 GNUNET_FS_uri_destroy (keywords);
@@ -420,10 +404,8 @@ dir_scan_cb (void *cls, const char *filename)
420 * @return GNUNET_OK on success 404 * @return GNUNET_OK on success
421 */ 405 */
422int 406int
423GNUNET_FS_directory_scanner_default (void *cls, 407GNUNET_FS_directory_scanner_default (void *cls, struct GNUNET_FS_Handle *h,
424 struct GNUNET_FS_Handle *h, 408 const char *dirname, int do_index,
425 const char *dirname,
426 int do_index,
427 const struct GNUNET_FS_BlockOptions *bo, 409 const struct GNUNET_FS_BlockOptions *bo,
428 GNUNET_FS_FileProcessor proc, 410 GNUNET_FS_FileProcessor proc,
429 void *proc_cls, char **emsg) 411 void *proc_cls, char **emsg)
@@ -527,9 +509,9 @@ GNUNET_FS_file_information_create_from_directory (struct GNUNET_FS_Handle *h,
527 scanner (scanner_cls, h, filename, do_index, bo, &dirproc, &dc, emsg); 509 scanner (scanner_cls, h, filename, do_index, bo, &dirproc, &dc, emsg);
528 ksk = NULL; // FIXME... 510 ksk = NULL; // FIXME...
529 // FIXME: create meta! 511 // FIXME: create meta!
530 ret = GNUNET_FS_file_information_create_empty_directory (h, 512 ret =
531 client_info, 513 GNUNET_FS_file_information_create_empty_directory (h, client_info, ksk,
532 ksk, meta, bo); 514 meta, bo);
533 GNUNET_CONTAINER_meta_data_destroy (meta); 515 GNUNET_CONTAINER_meta_data_destroy (meta);
534 ret->data.dir.entries = dc.entries; 516 ret->data.dir.entries = dc.entries;
535 while (dc.entries != NULL) 517 while (dc.entries != NULL)
@@ -541,8 +523,7 @@ GNUNET_FS_file_information_create_from_directory (struct GNUNET_FS_Handle *h,
541 while ((NULL != (ss = strstr (fn, DIR_SEPARATOR_STR))) && (strlen (ss) > 1)) 523 while ((NULL != (ss = strstr (fn, DIR_SEPARATOR_STR))) && (strlen (ss) > 1))
542 fn = ss + 1; 524 fn = ss + 1;
543 GNUNET_asprintf (&dn, "%s/", fn); 525 GNUNET_asprintf (&dn, "%s/", fn);
544 GNUNET_CONTAINER_meta_data_insert (ret->meta, 526 GNUNET_CONTAINER_meta_data_insert (ret->meta, "<gnunet>",
545 "<gnunet>",
546 EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME, 527 EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME,
547 EXTRACTOR_METAFORMAT_C_STRING, 528 EXTRACTOR_METAFORMAT_C_STRING,
548 "text/plain", dn, strlen (dn) + 1); 529 "text/plain", dn, strlen (dn) + 1);
@@ -656,10 +637,9 @@ GNUNET_FS_file_information_inspect (struct GNUNET_FS_FileInformation *dir,
656 637
657 no = GNUNET_NO; 638 no = GNUNET_NO;
658 if (GNUNET_OK != 639 if (GNUNET_OK !=
659 proc (proc_cls, 640 proc (proc_cls, dir,
660 dir, 641 (dir->is_directory) ? dir->data.dir.dir_size : dir->data.file.
661 (dir->is_directory) ? dir->data.dir.dir_size : dir->data. 642 file_size, dir->meta, &dir->keywords, &dir->bo,
662 file.file_size, dir->meta, &dir->keywords, &dir->bo,
663 (dir->is_directory) ? &no : &dir->data.file.do_index, 643 (dir->is_directory) ? &no : &dir->data.file.do_index,
664 &dir->client_info)) 644 &dir->client_info))
665 return; 645 return;
@@ -670,10 +650,9 @@ GNUNET_FS_file_information_inspect (struct GNUNET_FS_FileInformation *dir,
670 { 650 {
671 no = GNUNET_NO; 651 no = GNUNET_NO;
672 if (GNUNET_OK != 652 if (GNUNET_OK !=
673 proc (proc_cls, 653 proc (proc_cls, pos,
674 pos, 654 (pos->is_directory) ? pos->data.dir.dir_size : pos->data.file.
675 (pos->is_directory) ? pos->data.dir.dir_size : pos->data. 655 file_size, pos->meta, &pos->keywords, &pos->bo,
676 file.file_size, pos->meta, &pos->keywords, &pos->bo,
677 (dir->is_directory) ? &no : &dir->data.file.do_index, 656 (dir->is_directory) ? &no : &dir->data.file.do_index,
678 &pos->client_info)) 657 &pos->client_info))
679 break; 658 break;
@@ -711,10 +690,8 @@ GNUNET_FS_file_information_destroy (struct GNUNET_FS_FileInformation *fi,
711 } 690 }
712 /* clean up client-info */ 691 /* clean up client-info */
713 if (NULL != cleaner) 692 if (NULL != cleaner)
714 cleaner (cleaner_cls, 693 cleaner (cleaner_cls, fi, fi->data.dir.dir_size, fi->meta, &fi->keywords,
715 fi, 694 &fi->bo, &no, &fi->client_info);
716 fi->data.dir.dir_size,
717 fi->meta, &fi->keywords, &fi->bo, &no, &fi->client_info);
718 GNUNET_free_non_null (fi->data.dir.dir_data); 695 GNUNET_free_non_null (fi->data.dir.dir_data);
719 } 696 }
720 else 697 else
@@ -724,20 +701,17 @@ GNUNET_FS_file_information_destroy (struct GNUNET_FS_FileInformation *fi,
724 fi->data.file.reader (fi->data.file.reader_cls, 0, 0, NULL, NULL); 701 fi->data.file.reader (fi->data.file.reader_cls, 0, 0, NULL, NULL);
725 /* clean up client-info */ 702 /* clean up client-info */
726 if (NULL != cleaner) 703 if (NULL != cleaner)
727 cleaner (cleaner_cls, 704 cleaner (cleaner_cls, fi, fi->data.file.file_size, fi->meta,
728 fi, 705 &fi->keywords, &fi->bo, &fi->data.file.do_index,
729 fi->data.file.file_size, 706 &fi->client_info);
730 fi->meta,
731 &fi->keywords,
732 &fi->bo, &fi->data.file.do_index, &fi->client_info);
733 } 707 }
734 GNUNET_free_non_null (fi->filename); 708 GNUNET_free_non_null (fi->filename);
735 GNUNET_free_non_null (fi->emsg); 709 GNUNET_free_non_null (fi->emsg);
736 GNUNET_free_non_null (fi->chk_uri); 710 GNUNET_free_non_null (fi->chk_uri);
737 /* clean up serialization */ 711 /* clean up serialization */
738 if ((NULL != fi->serialization) && (0 != UNLINK (fi->serialization))) 712 if ((NULL != fi->serialization) && (0 != UNLINK (fi->serialization)))
739 GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_WARNING, 713 GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_WARNING, "unlink",
740 "unlink", fi->serialization); 714 fi->serialization);
741 if (NULL != fi->keywords) 715 if (NULL != fi->keywords)
742 GNUNET_FS_uri_destroy (fi->keywords); 716 GNUNET_FS_uri_destroy (fi->keywords);
743 if (NULL != fi->meta) 717 if (NULL != fi->meta)