diff options
author | Christian Grothoff <christian@grothoff.org> | 2012-09-09 18:36:01 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2012-09-09 18:36:01 +0000 |
commit | 15af56ceb3ae31463a79c95b34841fbdec920ba5 (patch) | |
tree | 1e1de33b94a3cd493179a80bcfeaa332b7e3fc10 /src/util/getopt_helpers.c | |
parent | 85869129442a971414710ebd8bef97433570083b (diff) | |
download | gnunet-15af56ceb3ae31463a79c95b34841fbdec920ba5.tar.gz gnunet-15af56ceb3ae31463a79c95b34841fbdec920ba5.zip |
new getopt helper function to parse relative time command line argument
Diffstat (limited to 'src/util/getopt_helpers.c')
-rw-r--r-- | src/util/getopt_helpers.c | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/src/util/getopt_helpers.c b/src/util/getopt_helpers.c index a31080fa0..a80bff4a3 100644 --- a/src/util/getopt_helpers.c +++ b/src/util/getopt_helpers.c | |||
@@ -26,7 +26,7 @@ | |||
26 | 26 | ||
27 | #include "platform.h" | 27 | #include "platform.h" |
28 | #include "gnunet_common.h" | 28 | #include "gnunet_common.h" |
29 | #include "gnunet_getopt_lib.h" | 29 | #include "gnunet_util_lib.h" |
30 | 30 | ||
31 | #define LOG(kind,...) GNUNET_log_from (kind, "util", __VA_ARGS__) | 31 | #define LOG(kind,...) GNUNET_log_from (kind, "util", __VA_ARGS__) |
32 | 32 | ||
@@ -263,6 +263,36 @@ GNUNET_GETOPT_set_ulong (struct GNUNET_GETOPT_CommandLineProcessorContext *ctx, | |||
263 | 263 | ||
264 | 264 | ||
265 | /** | 265 | /** |
266 | * Set an option of type 'struct GNUNET_TIME_Relative' from the command line. | ||
267 | * A pointer to this function should be passed as part of the | ||
268 | * 'struct GNUNET_GETOPT_CommandLineOption' array to initialize options | ||
269 | * of this type. It should be followed by a pointer to a value of | ||
270 | * type 'struct GNUNET_TIME_Relative'. | ||
271 | * | ||
272 | * @param ctx command line processing context | ||
273 | * @param scls additional closure (will point to the 'struct GNUNET_TIME_Relative') | ||
274 | * @param option name of the option | ||
275 | * @param value actual value of the option as a string. | ||
276 | * @return GNUNET_OK if parsing the value worked | ||
277 | */ | ||
278 | int | ||
279 | GNUNET_GETOPT_set_relative_time (struct GNUNET_GETOPT_CommandLineProcessorContext *ctx, | ||
280 | void *scls, const char *option, const char *value) | ||
281 | { | ||
282 | struct GNUNET_TIME_Relative *val = scls; | ||
283 | |||
284 | if (GNUNET_OK != | ||
285 | GNUNET_STRINGS_fancy_time_to_relative (value, | ||
286 | val)) | ||
287 | { | ||
288 | FPRINTF (stderr, _("You must pass relative time to the `%s' option.\n"), option); | ||
289 | return GNUNET_SYSERR; | ||
290 | } | ||
291 | return GNUNET_OK; | ||
292 | } | ||
293 | |||
294 | |||
295 | /** | ||
266 | * Set an option of type 'unsigned int' from the command line. | 296 | * Set an option of type 'unsigned int' from the command line. |
267 | * A pointer to this function should be passed as part of the | 297 | * A pointer to this function should be passed as part of the |
268 | * 'struct GNUNET_GETOPT_CommandLineOption' array to initialize options | 298 | * 'struct GNUNET_GETOPT_CommandLineOption' array to initialize options |