diff options
author | Christian Grothoff <christian@grothoff.org> | 2011-08-15 21:54:06 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2011-08-15 21:54:06 +0000 |
commit | 5746309cb4be2073d550ad7a6885e918631dbc38 (patch) | |
tree | 89455bc4aadf977816b38df13f990372cd81d71a /src/fs/fs_file_information.c | |
parent | 6fd3e715cae09fa6e657c96f1c6f9711ee51f42f (diff) | |
download | gnunet-5746309cb4be2073d550ad7a6885e918631dbc38.tar.gz gnunet-5746309cb4be2073d550ad7a6885e918631dbc38.zip |
indentation
Diffstat (limited to 'src/fs/fs_file_information.c')
-rw-r--r-- | src/fs/fs_file_information.c | 108 |
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 | */ |
54 | static int | 54 | static int |
55 | add_to_md (void *cls, | 55 | add_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 | */ |
78 | int | 73 | int |
79 | GNUNET_FS_meta_data_extract_from_file (struct GNUNET_CONTAINER_MetaData | 74 | GNUNET_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 | */ |
207 | struct GNUNET_FS_FileInformation * | 200 | struct GNUNET_FS_FileInformation * |
208 | GNUNET_FS_file_information_create_from_data (struct GNUNET_FS_Handle *h, | 201 | GNUNET_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 | */ |
422 | int | 406 | int |
423 | GNUNET_FS_directory_scanner_default (void *cls, | 407 | GNUNET_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) |