diff options
author | Christian Grothoff <christian@grothoff.org> | 2019-10-05 15:09:28 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2019-10-05 15:09:28 +0200 |
commit | c4e9ba925ffd758aaa3feee2ccfc0b76f26fe207 (patch) | |
tree | cac3ce030d77b4cbe7c7dc62ed58cfe6d24f73e1 /src/fs/gnunet-search.c | |
parent | fbb71d527c7d6babf269a8fefce1db291b9f7068 (diff) | |
download | gnunet-c4e9ba925ffd758aaa3feee2ccfc0b76f26fe207.tar.gz gnunet-c4e9ba925ffd758aaa3feee2ccfc0b76f26fe207.zip |
global reindent, now with uncrustify hook enabled
Diffstat (limited to 'src/fs/gnunet-search.c')
-rw-r--r-- | src/fs/gnunet-search.c | 348 |
1 files changed, 174 insertions, 174 deletions
diff --git a/src/fs/gnunet-search.c b/src/fs/gnunet-search.c index ac31387e2..f11335985 100644 --- a/src/fs/gnunet-search.c +++ b/src/fs/gnunet-search.c | |||
@@ -76,13 +76,13 @@ static struct GNUNET_SCHEDULER_Task *tt; | |||
76 | * @return 0 to continue extracting, 1 to abort | 76 | * @return 0 to continue extracting, 1 to abort |
77 | */ | 77 | */ |
78 | static int | 78 | static int |
79 | item_printer(void *cls, | 79 | item_printer (void *cls, |
80 | const char *plugin_name, | 80 | const char *plugin_name, |
81 | enum EXTRACTOR_MetaType type, | 81 | enum EXTRACTOR_MetaType type, |
82 | enum EXTRACTOR_MetaFormat format, | 82 | enum EXTRACTOR_MetaFormat format, |
83 | const char *data_mime_type, | 83 | const char *data_mime_type, |
84 | const char *data, | 84 | const char *data, |
85 | size_t data_size) | 85 | size_t data_size) |
86 | { | 86 | { |
87 | if ((format != EXTRACTOR_METAFORMAT_UTF8) && | 87 | if ((format != EXTRACTOR_METAFORMAT_UTF8) && |
88 | (format != EXTRACTOR_METAFORMAT_C_STRING)) | 88 | (format != EXTRACTOR_METAFORMAT_C_STRING)) |
@@ -90,45 +90,45 @@ item_printer(void *cls, | |||
90 | if (type == EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME) | 90 | if (type == EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME) |
91 | return 0; | 91 | return 0; |
92 | #if HAVE_LIBEXTRACTOR | 92 | #if HAVE_LIBEXTRACTOR |
93 | printf("\t%20s: %s\n", | 93 | printf ("\t%20s: %s\n", |
94 | dgettext(LIBEXTRACTOR_GETTEXT_DOMAIN, | 94 | dgettext (LIBEXTRACTOR_GETTEXT_DOMAIN, |
95 | EXTRACTOR_metatype_to_string(type)), | 95 | EXTRACTOR_metatype_to_string (type)), |
96 | data); | 96 | data); |
97 | #else | 97 | #else |
98 | printf("\t%20d: %s\n", type, data); | 98 | printf ("\t%20d: %s\n", type, data); |
99 | #endif | 99 | #endif |
100 | return 0; | 100 | return 0; |
101 | } | 101 | } |
102 | 102 | ||
103 | 103 | ||
104 | static void | 104 | static void |
105 | clean_task(void *cls) | 105 | clean_task (void *cls) |
106 | { | 106 | { |
107 | size_t dsize; | 107 | size_t dsize; |
108 | void *ddata; | 108 | void *ddata; |
109 | 109 | ||
110 | GNUNET_FS_stop(ctx); | 110 | GNUNET_FS_stop (ctx); |
111 | ctx = NULL; | 111 | ctx = NULL; |
112 | if (output_filename == NULL) | 112 | if (output_filename == NULL) |
113 | return; | 113 | return; |
114 | if (GNUNET_OK != GNUNET_FS_directory_builder_finish(db, &dsize, &ddata)) | 114 | if (GNUNET_OK != GNUNET_FS_directory_builder_finish (db, &dsize, &ddata)) |
115 | { | 115 | { |
116 | GNUNET_break(0); | 116 | GNUNET_break (0); |
117 | GNUNET_free(output_filename); | 117 | GNUNET_free (output_filename); |
118 | return; | 118 | return; |
119 | } | 119 | } |
120 | if (dsize != GNUNET_DISK_fn_write(output_filename, | 120 | if (dsize != GNUNET_DISK_fn_write (output_filename, |
121 | ddata, | 121 | ddata, |
122 | dsize, | 122 | dsize, |
123 | GNUNET_DISK_PERM_USER_READ | | 123 | GNUNET_DISK_PERM_USER_READ |
124 | GNUNET_DISK_PERM_USER_WRITE)) | 124 | | GNUNET_DISK_PERM_USER_WRITE)) |
125 | { | 125 | { |
126 | fprintf(stderr, | 126 | fprintf (stderr, |
127 | _("Failed to write directory with search results to `%s'\n"), | 127 | _ ("Failed to write directory with search results to `%s'\n"), |
128 | output_filename); | 128 | output_filename); |
129 | } | 129 | } |
130 | GNUNET_free_non_null(ddata); | 130 | GNUNET_free_non_null (ddata); |
131 | GNUNET_free(output_filename); | 131 | GNUNET_free (output_filename); |
132 | } | 132 | } |
133 | 133 | ||
134 | 134 | ||
@@ -146,7 +146,7 @@ clean_task(void *cls) | |||
146 | * field in the GNUNET_FS_ProgressInfo struct. | 146 | * field in the GNUNET_FS_ProgressInfo struct. |
147 | */ | 147 | */ |
148 | static void * | 148 | static void * |
149 | progress_cb(void *cls, const struct GNUNET_FS_ProgressInfo *info) | 149 | progress_cb (void *cls, const struct GNUNET_FS_ProgressInfo *info) |
150 | { | 150 | { |
151 | static unsigned int cnt; | 151 | static unsigned int cnt; |
152 | int is_directory; | 152 | int is_directory; |
@@ -154,98 +154,98 @@ progress_cb(void *cls, const struct GNUNET_FS_ProgressInfo *info) | |||
154 | char *filename; | 154 | char *filename; |
155 | 155 | ||
156 | switch (info->status) | 156 | switch (info->status) |
157 | { | ||
158 | case GNUNET_FS_STATUS_SEARCH_START: | ||
159 | break; | ||
160 | |||
161 | case GNUNET_FS_STATUS_SEARCH_RESULT: | ||
162 | if (db != NULL) | ||
163 | GNUNET_FS_directory_builder_add (db, | ||
164 | info->value.search.specifics.result.uri, | ||
165 | info->value.search.specifics.result.meta, | ||
166 | NULL); | ||
167 | uri = GNUNET_FS_uri_to_string (info->value.search.specifics.result.uri); | ||
168 | printf ("#%u:\n", ++cnt); | ||
169 | filename = GNUNET_CONTAINER_meta_data_get_by_type ( | ||
170 | info->value.search.specifics.result.meta, | ||
171 | EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME); | ||
172 | is_directory = GNUNET_FS_meta_data_test_for_directory ( | ||
173 | info->value.search.specifics.result.meta); | ||
174 | if (NULL != filename) | ||
157 | { | 175 | { |
158 | case GNUNET_FS_STATUS_SEARCH_START: | 176 | while ((filename[0] != '\0') && ('/' == filename[strlen (filename) - 1])) |
159 | break; | 177 | filename[strlen (filename) - 1] = '\0'; |
160 | 178 | GNUNET_DISK_filename_canonicalize (filename); | |
161 | case GNUNET_FS_STATUS_SEARCH_RESULT: | 179 | if (GNUNET_YES == is_directory) |
162 | if (db != NULL) | 180 | printf ("gnunet-download -o \"%s%s\" -R %s\n", |
163 | GNUNET_FS_directory_builder_add(db, | 181 | filename, |
164 | info->value.search.specifics.result.uri, | 182 | GNUNET_FS_DIRECTORY_EXT, |
165 | info->value.search.specifics.result.meta, | 183 | uri); |
166 | NULL); | ||
167 | uri = GNUNET_FS_uri_to_string(info->value.search.specifics.result.uri); | ||
168 | printf("#%u:\n", ++cnt); | ||
169 | filename = GNUNET_CONTAINER_meta_data_get_by_type( | ||
170 | info->value.search.specifics.result.meta, | ||
171 | EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME); | ||
172 | is_directory = GNUNET_FS_meta_data_test_for_directory( | ||
173 | info->value.search.specifics.result.meta); | ||
174 | if (NULL != filename) | ||
175 | { | ||
176 | while ((filename[0] != '\0') && ('/' == filename[strlen(filename) - 1])) | ||
177 | filename[strlen(filename) - 1] = '\0'; | ||
178 | GNUNET_DISK_filename_canonicalize(filename); | ||
179 | if (GNUNET_YES == is_directory) | ||
180 | printf("gnunet-download -o \"%s%s\" -R %s\n", | ||
181 | filename, | ||
182 | GNUNET_FS_DIRECTORY_EXT, | ||
183 | uri); | ||
184 | else | ||
185 | printf("gnunet-download -o \"%s\" %s\n", filename, uri); | ||
186 | } | ||
187 | else if (GNUNET_YES == is_directory) | ||
188 | printf("gnunet-download -o \"collection%s\" -R %s\n", | ||
189 | GNUNET_FS_DIRECTORY_EXT, | ||
190 | uri); | ||
191 | else | 184 | else |
192 | printf("gnunet-download %s\n", uri); | 185 | printf ("gnunet-download -o \"%s\" %s\n", filename, uri); |
193 | if (verbose) | ||
194 | GNUNET_CONTAINER_meta_data_iterate(info->value.search.specifics.result | ||
195 | .meta, | ||
196 | &item_printer, | ||
197 | NULL); | ||
198 | printf("\n"); | ||
199 | fflush(stdout); | ||
200 | GNUNET_free_non_null(filename); | ||
201 | GNUNET_free(uri); | ||
202 | results++; | ||
203 | if ((results_limit > 0) && (results >= results_limit)) | ||
204 | GNUNET_SCHEDULER_shutdown(); | ||
205 | break; | ||
206 | |||
207 | case GNUNET_FS_STATUS_SEARCH_UPDATE: | ||
208 | break; | ||
209 | |||
210 | case GNUNET_FS_STATUS_SEARCH_RESULT_STOPPED: | ||
211 | /* ignore */ | ||
212 | break; | ||
213 | |||
214 | case GNUNET_FS_STATUS_SEARCH_ERROR: | ||
215 | fprintf(stderr, | ||
216 | _("Error searching: %s.\n"), | ||
217 | info->value.search.specifics.error.message); | ||
218 | GNUNET_SCHEDULER_shutdown(); | ||
219 | break; | ||
220 | |||
221 | case GNUNET_FS_STATUS_SEARCH_STOPPED: | ||
222 | GNUNET_SCHEDULER_add_now(&clean_task, NULL); | ||
223 | break; | ||
224 | |||
225 | default: | ||
226 | fprintf(stderr, _("Unexpected status: %d\n"), info->status); | ||
227 | break; | ||
228 | } | 186 | } |
187 | else if (GNUNET_YES == is_directory) | ||
188 | printf ("gnunet-download -o \"collection%s\" -R %s\n", | ||
189 | GNUNET_FS_DIRECTORY_EXT, | ||
190 | uri); | ||
191 | else | ||
192 | printf ("gnunet-download %s\n", uri); | ||
193 | if (verbose) | ||
194 | GNUNET_CONTAINER_meta_data_iterate (info->value.search.specifics.result | ||
195 | .meta, | ||
196 | &item_printer, | ||
197 | NULL); | ||
198 | printf ("\n"); | ||
199 | fflush (stdout); | ||
200 | GNUNET_free_non_null (filename); | ||
201 | GNUNET_free (uri); | ||
202 | results++; | ||
203 | if ((results_limit > 0) && (results >= results_limit)) | ||
204 | GNUNET_SCHEDULER_shutdown (); | ||
205 | break; | ||
206 | |||
207 | case GNUNET_FS_STATUS_SEARCH_UPDATE: | ||
208 | break; | ||
209 | |||
210 | case GNUNET_FS_STATUS_SEARCH_RESULT_STOPPED: | ||
211 | /* ignore */ | ||
212 | break; | ||
213 | |||
214 | case GNUNET_FS_STATUS_SEARCH_ERROR: | ||
215 | fprintf (stderr, | ||
216 | _ ("Error searching: %s.\n"), | ||
217 | info->value.search.specifics.error.message); | ||
218 | GNUNET_SCHEDULER_shutdown (); | ||
219 | break; | ||
220 | |||
221 | case GNUNET_FS_STATUS_SEARCH_STOPPED: | ||
222 | GNUNET_SCHEDULER_add_now (&clean_task, NULL); | ||
223 | break; | ||
224 | |||
225 | default: | ||
226 | fprintf (stderr, _ ("Unexpected status: %d\n"), info->status); | ||
227 | break; | ||
228 | } | ||
229 | return NULL; | 229 | return NULL; |
230 | } | 230 | } |
231 | 231 | ||
232 | 232 | ||
233 | static void | 233 | static void |
234 | shutdown_task(void *cls) | 234 | shutdown_task (void *cls) |
235 | { | 235 | { |
236 | if (sc != NULL) | 236 | if (sc != NULL) |
237 | { | 237 | { |
238 | GNUNET_FS_search_stop(sc); | 238 | GNUNET_FS_search_stop (sc); |
239 | sc = NULL; | 239 | sc = NULL; |
240 | } | 240 | } |
241 | } | 241 | } |
242 | 242 | ||
243 | 243 | ||
244 | static void | 244 | static void |
245 | timeout_task(void *cls) | 245 | timeout_task (void *cls) |
246 | { | 246 | { |
247 | tt = NULL; | 247 | tt = NULL; |
248 | GNUNET_SCHEDULER_shutdown(); | 248 | GNUNET_SCHEDULER_shutdown (); |
249 | } | 249 | } |
250 | 250 | ||
251 | 251 | ||
@@ -258,10 +258,10 @@ timeout_task(void *cls) | |||
258 | * @param c configuration | 258 | * @param c configuration |
259 | */ | 259 | */ |
260 | static void | 260 | static void |
261 | run(void *cls, | 261 | run (void *cls, |
262 | char *const *args, | 262 | char *const *args, |
263 | const char *cfgfile, | 263 | const char *cfgfile, |
264 | const struct GNUNET_CONFIGURATION_Handle *c) | 264 | const struct GNUNET_CONFIGURATION_Handle *c) |
265 | { | 265 | { |
266 | struct GNUNET_FS_Uri *uri; | 266 | struct GNUNET_FS_Uri *uri; |
267 | unsigned int argc; | 267 | unsigned int argc; |
@@ -270,46 +270,46 @@ run(void *cls, | |||
270 | argc = 0; | 270 | argc = 0; |
271 | while (NULL != args[argc]) | 271 | while (NULL != args[argc]) |
272 | argc++; | 272 | argc++; |
273 | uri = GNUNET_FS_uri_ksk_create_from_args(argc, (const char **)args); | 273 | uri = GNUNET_FS_uri_ksk_create_from_args (argc, (const char **) args); |
274 | if (NULL == uri) | 274 | if (NULL == uri) |
275 | { | 275 | { |
276 | fprintf(stderr, | 276 | fprintf (stderr, |
277 | "%s", | 277 | "%s", |
278 | _("Could not create keyword URI from arguments.\n")); | 278 | _ ("Could not create keyword URI from arguments.\n")); |
279 | ret = 1; | 279 | ret = 1; |
280 | return; | 280 | return; |
281 | } | 281 | } |
282 | cfg = c; | 282 | cfg = c; |
283 | ctx = GNUNET_FS_start(cfg, | 283 | ctx = GNUNET_FS_start (cfg, |
284 | "gnunet-search", | 284 | "gnunet-search", |
285 | &progress_cb, | 285 | &progress_cb, |
286 | NULL, | 286 | NULL, |
287 | GNUNET_FS_FLAGS_NONE, | 287 | GNUNET_FS_FLAGS_NONE, |
288 | GNUNET_FS_OPTIONS_END); | 288 | GNUNET_FS_OPTIONS_END); |
289 | if (NULL == ctx) | 289 | if (NULL == ctx) |
290 | { | 290 | { |
291 | fprintf(stderr, _("Could not initialize `%s' subsystem.\n"), "FS"); | 291 | fprintf (stderr, _ ("Could not initialize `%s' subsystem.\n"), "FS"); |
292 | GNUNET_FS_uri_destroy(uri); | 292 | GNUNET_FS_uri_destroy (uri); |
293 | ret = 1; | 293 | ret = 1; |
294 | return; | 294 | return; |
295 | } | 295 | } |
296 | if (output_filename != NULL) | 296 | if (output_filename != NULL) |
297 | db = GNUNET_FS_directory_builder_create(NULL); | 297 | db = GNUNET_FS_directory_builder_create (NULL); |
298 | options = GNUNET_FS_SEARCH_OPTION_NONE; | 298 | options = GNUNET_FS_SEARCH_OPTION_NONE; |
299 | if (local_only) | 299 | if (local_only) |
300 | options |= GNUNET_FS_SEARCH_OPTION_LOOPBACK_ONLY; | 300 | options |= GNUNET_FS_SEARCH_OPTION_LOOPBACK_ONLY; |
301 | sc = GNUNET_FS_search_start(ctx, uri, anonymity, options, NULL); | 301 | sc = GNUNET_FS_search_start (ctx, uri, anonymity, options, NULL); |
302 | GNUNET_FS_uri_destroy(uri); | 302 | GNUNET_FS_uri_destroy (uri); |
303 | if (NULL == sc) | 303 | if (NULL == sc) |
304 | { | 304 | { |
305 | fprintf(stderr, "%s", _("Could not start searching.\n")); | 305 | fprintf (stderr, "%s", _ ("Could not start searching.\n")); |
306 | GNUNET_FS_stop(ctx); | 306 | GNUNET_FS_stop (ctx); |
307 | ret = 1; | 307 | ret = 1; |
308 | return; | 308 | return; |
309 | } | 309 | } |
310 | if (0 != timeout.rel_value_us) | 310 | if (0 != timeout.rel_value_us) |
311 | tt = GNUNET_SCHEDULER_add_delayed(timeout, &timeout_task, NULL); | 311 | tt = GNUNET_SCHEDULER_add_delayed (timeout, &timeout_task, NULL); |
312 | GNUNET_SCHEDULER_add_shutdown(&shutdown_task, NULL); | 312 | GNUNET_SCHEDULER_add_shutdown (&shutdown_task, NULL); |
313 | } | 313 | } |
314 | 314 | ||
315 | 315 | ||
@@ -321,57 +321,57 @@ run(void *cls, | |||
321 | * @return 0 ok, 1 on error | 321 | * @return 0 ok, 1 on error |
322 | */ | 322 | */ |
323 | int | 323 | int |
324 | main(int argc, char *const *argv) | 324 | main (int argc, char *const *argv) |
325 | { | 325 | { |
326 | struct GNUNET_GETOPT_CommandLineOption options[] = | 326 | struct GNUNET_GETOPT_CommandLineOption options[] = |
327 | { GNUNET_GETOPT_option_uint('a', | 327 | { GNUNET_GETOPT_option_uint ('a', |
328 | "anonymity", | 328 | "anonymity", |
329 | "LEVEL", | 329 | "LEVEL", |
330 | gettext_noop( | 330 | gettext_noop ( |
331 | "set the desired LEVEL of receiver-anonymity"), | 331 | "set the desired LEVEL of receiver-anonymity"), |
332 | &anonymity), | 332 | &anonymity), |
333 | GNUNET_GETOPT_option_flag( | 333 | GNUNET_GETOPT_option_flag ( |
334 | 'n', | 334 | 'n', |
335 | "no-network", | 335 | "no-network", |
336 | gettext_noop("only search the local peer (no P2P network search)"), | 336 | gettext_noop ("only search the local peer (no P2P network search)"), |
337 | &local_only), | 337 | &local_only), |
338 | GNUNET_GETOPT_option_string( | 338 | GNUNET_GETOPT_option_string ( |
339 | 'o', | 339 | 'o', |
340 | "output", | 340 | "output", |
341 | "PREFIX", | 341 | "PREFIX", |
342 | gettext_noop("write search results to file starting with PREFIX"), | 342 | gettext_noop ("write search results to file starting with PREFIX"), |
343 | &output_filename), | 343 | &output_filename), |
344 | GNUNET_GETOPT_option_relative_time( | 344 | GNUNET_GETOPT_option_relative_time ( |
345 | 't', | 345 | 't', |
346 | "timeout", | 346 | "timeout", |
347 | "DELAY", | 347 | "DELAY", |
348 | gettext_noop("automatically terminate search after DELAY"), | 348 | gettext_noop ("automatically terminate search after DELAY"), |
349 | &timeout), | 349 | &timeout), |
350 | GNUNET_GETOPT_option_verbose(&verbose), | 350 | GNUNET_GETOPT_option_verbose (&verbose), |
351 | GNUNET_GETOPT_option_uint('N', | 351 | GNUNET_GETOPT_option_uint ('N', |
352 | "results", | 352 | "results", |
353 | "VALUE", | 353 | "VALUE", |
354 | gettext_noop("automatically terminate search " | 354 | gettext_noop ("automatically terminate search " |
355 | "after VALUE results are found"), | 355 | "after VALUE results are found"), |
356 | &results_limit), | 356 | &results_limit), |
357 | GNUNET_GETOPT_OPTION_END }; | 357 | GNUNET_GETOPT_OPTION_END }; |
358 | 358 | ||
359 | if (GNUNET_OK != GNUNET_STRINGS_get_utf8_args(argc, argv, &argc, &argv)) | 359 | if (GNUNET_OK != GNUNET_STRINGS_get_utf8_args (argc, argv, &argc, &argv)) |
360 | return 2; | 360 | return 2; |
361 | 361 | ||
362 | ret = | 362 | ret = |
363 | (GNUNET_OK == | 363 | (GNUNET_OK == |
364 | GNUNET_PROGRAM_run(argc, | 364 | GNUNET_PROGRAM_run (argc, |
365 | argv, | 365 | argv, |
366 | "gnunet-search [OPTIONS] KEYWORD", | 366 | "gnunet-search [OPTIONS] KEYWORD", |
367 | gettext_noop( | 367 | gettext_noop ( |
368 | "Search GNUnet for files that were published on GNUnet"), | 368 | "Search GNUnet for files that were published on GNUnet"), |
369 | options, | 369 | options, |
370 | &run, | 370 | &run, |
371 | NULL)) | 371 | NULL)) |
372 | ? ret | 372 | ? ret |
373 | : 1; | 373 | : 1; |
374 | GNUNET_free((void *)argv); | 374 | GNUNET_free ((void *) argv); |
375 | return ret; | 375 | return ret; |
376 | } | 376 | } |
377 | 377 | ||