aboutsummaryrefslogtreecommitdiff
path: root/src/fs
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2011-06-17 09:51:39 +0000
committerChristian Grothoff <christian@grothoff.org>2011-06-17 09:51:39 +0000
commitb4a9f96a8bce812208307656ce87fddeb6b1be8a (patch)
treebf9d4300fa75a4065f1a50e544cb55c6dcf05a27 /src/fs
parentd188dc870a727cf798b01b7026ff8748c500db5e (diff)
downloadgnunet-b4a9f96a8bce812208307656ce87fddeb6b1be8a.tar.gz
gnunet-b4a9f96a8bce812208307656ce87fddeb6b1be8a.zip
fixing 1696
Diffstat (limited to 'src/fs')
-rw-r--r--src/fs/gnunet-search.c26
1 files changed, 21 insertions, 5 deletions
diff --git a/src/fs/gnunet-search.c b/src/fs/gnunet-search.c
index cc3ef7c87..f2414322d 100644
--- a/src/fs/gnunet-search.c
+++ b/src/fs/gnunet-search.c
@@ -42,6 +42,8 @@ static struct GNUNET_FS_DirectoryBuilder *db;
42 42
43static unsigned int anonymity = 1; 43static unsigned int anonymity = 1;
44 44
45static unsigned long long timeout;
46
45static int verbose; 47static int verbose;
46 48
47static int local_only; 49static int local_only;
@@ -231,6 +233,7 @@ run (void *cls,
231 struct GNUNET_FS_Uri *uri; 233 struct GNUNET_FS_Uri *uri;
232 unsigned int argc; 234 unsigned int argc;
233 enum GNUNET_FS_SearchOptions options; 235 enum GNUNET_FS_SearchOptions options;
236 struct GNUNET_TIME_Relative delay;
234 237
235 argc = 0; 238 argc = 0;
236 while (NULL != args[argc]) 239 while (NULL != args[argc])
@@ -242,7 +245,6 @@ run (void *cls,
242 fprintf (stderr, 245 fprintf (stderr,
243 _("Could not create keyword URI from arguments.\n")); 246 _("Could not create keyword URI from arguments.\n"));
244 ret = 1; 247 ret = 1;
245 GNUNET_FS_uri_destroy (uri);
246 return; 248 return;
247 } 249 }
248 cfg = c; 250 cfg = c;
@@ -280,9 +282,19 @@ run (void *cls,
280 ret = 1; 282 ret = 1;
281 return; 283 return;
282 } 284 }
283 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, 285 if (timeout != 0)
284 &shutdown_task, 286 {
285 NULL); 287 delay.rel_value = timeout;
288 GNUNET_SCHEDULER_add_delayed (delay,
289 &shutdown_task,
290 NULL);
291 }
292 else
293 {
294 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL,
295 &shutdown_task,
296 NULL);
297 }
286} 298}
287 299
288 300
@@ -307,11 +319,15 @@ main (int argc, char *const *argv)
307 gettext_noop 319 gettext_noop
308 ("write search results to file starting with PREFIX"), 320 ("write search results to file starting with PREFIX"),
309 1, &GNUNET_GETOPT_set_string, &output_filename}, 321 1, &GNUNET_GETOPT_set_string, &output_filename},
322 {'t', "timeout", "VALUE",
323 gettext_noop
324 ("automatically terminate search after VALUE ms"),
325 1, &GNUNET_GETOPT_set_ulong, &timeout},
310 {'V', "verbose", NULL, 326 {'V', "verbose", NULL,
311 gettext_noop ("be verbose (print progress information)"), 327 gettext_noop ("be verbose (print progress information)"),
312 0, &GNUNET_GETOPT_set_one, &verbose}, 328 0, &GNUNET_GETOPT_set_one, &verbose},
313 GNUNET_GETOPT_OPTION_END 329 GNUNET_GETOPT_OPTION_END
314 }; 330 };
315 return (GNUNET_OK == 331 return (GNUNET_OK ==
316 GNUNET_PROGRAM_run (argc, 332 GNUNET_PROGRAM_run (argc,
317 argv, 333 argv,