handling replies continuously from server
[oweals/gnunet.git] / src / util / getopt_helpers.c
index aa85bf536527f11ddbbeed27a49492a8eda05d8f..a31080fa0cbb3bee828b109f0c2315cad2ff45af 100644 (file)
@@ -28,6 +28,8 @@
 #include "gnunet_common.h"
 #include "gnunet_getopt_lib.h"
 
+#define LOG(kind,...) GNUNET_log_from (kind, "util", __VA_ARGS__)
+
 
 /**
  * Print out program version (implements --version).
@@ -77,9 +79,12 @@ GNUNET_GETOPT_format_help_ (struct GNUNET_GETOPT_CommandLineProcessorContext
   const char *trans;
   const struct GNUNET_GETOPT_CommandLineOption *opt;
 
-  printf ("%s\n%s\n", ctx->binaryOptions, gettext (about));
-  printf (_
-          ("Arguments mandatory for long options are also mandatory for short options.\n"));
+  if (NULL != about)
+  {
+    printf ("%s\n%s\n", ctx->binaryOptions, gettext (about));
+    printf (_
+           ("Arguments mandatory for long options are also mandatory for short options.\n"));
+  }
   i = 0;
   opt = ctx->allOptions;
   while (opt[i].description != NULL)
@@ -163,12 +168,11 @@ OUTER:
  * @param scls additional closure (will point to the 'int')
  * @param option name of the option
  * @param value not used (NULL)
- * @return GNUNET_OK 
+ * @return GNUNET_OK
  */
 int
-GNUNET_GETOPT_increment_value (struct
-                               GNUNET_GETOPT_CommandLineProcessorContext *ctx,
-                               void *scls, const char *option,
+GNUNET_GETOPT_increment_value (struct GNUNET_GETOPT_CommandLineProcessorContext
+                               *ctx, void *scls, const char *option,
                                const char *value)
 {
   int *val = scls;
@@ -179,7 +183,7 @@ GNUNET_GETOPT_increment_value (struct
 
 
 /**
- * Set an option of type 'int' from the command line to 1 if the 
+ * Set an option of type 'int' from the command line to 1 if the
  * given option is present.
  * A pointer to this function should be passed as part of the
  * 'struct GNUNET_GETOPT_CommandLineOption' array to initialize options
@@ -190,7 +194,7 @@ GNUNET_GETOPT_increment_value (struct
  * @param scls additional closure (will point to the 'int')
  * @param option name of the option
  * @param value not used (NULL)
- * @return GNUNET_OK 
+ * @return GNUNET_OK
  */
 int
 GNUNET_GETOPT_set_one (struct GNUNET_GETOPT_CommandLineProcessorContext *ctx,
@@ -215,18 +219,16 @@ GNUNET_GETOPT_set_one (struct GNUNET_GETOPT_CommandLineProcessorContext *ctx,
  *             which will be allocated)
  * @param option name of the option
  * @param value actual value of the option (a string)
- * @return GNUNET_OK 
+ * @return GNUNET_OK
  */
 int
-GNUNET_GETOPT_set_string (struct GNUNET_GETOPT_CommandLineProcessorContext
-                          *ctx, void *scls, const char *option,
-                          const char *value)
+GNUNET_GETOPT_set_string (struct GNUNET_GETOPT_CommandLineProcessorContext *ctx,
+                          void *scls, const char *option, const char *value)
 {
   char **val = scls;
 
   GNUNET_assert (value != NULL);
-  if (NULL != *val)
-    GNUNET_free (*val);
+  GNUNET_free_non_null (*val);
   *val = GNUNET_strdup (value);
   return GNUNET_OK;
 }
@@ -246,15 +248,14 @@ GNUNET_GETOPT_set_string (struct GNUNET_GETOPT_CommandLineProcessorContext
  * @return GNUNET_OK if parsing the value worked
  */
 int
-GNUNET_GETOPT_set_ulong (struct GNUNET_GETOPT_CommandLineProcessorContext
-                         *ctx, void *scls, const char *option,
-                         const char *value)
+GNUNET_GETOPT_set_ulong (struct GNUNET_GETOPT_CommandLineProcessorContext *ctx,
+                         void *scls, const char *option, const char *value)
 {
   unsigned long long *val = scls;
 
   if (1 != SSCANF (value, "%llu", val))
   {
-    fprintf (stderr, _("You must pass a number to the `%s' option.\n"), option);
+    FPRINTF (stderr, _("You must pass a number to the `%s' option.\n"), option);
     return GNUNET_SYSERR;
   }
   return GNUNET_OK;
@@ -262,7 +263,7 @@ GNUNET_GETOPT_set_ulong (struct GNUNET_GETOPT_CommandLineProcessorContext
 
 
 /**
- * Set an option of type 'unsigned long long' from the command line.
+ * Set an option of type 'unsigned int' from the command line.
  * A pointer to this function should be passed as part of the
  * 'struct GNUNET_GETOPT_CommandLineOption' array to initialize options
  * of this type.  It should be followed by a pointer to a value of
@@ -282,7 +283,7 @@ GNUNET_GETOPT_set_uint (struct GNUNET_GETOPT_CommandLineProcessorContext *ctx,
 
   if (1 != SSCANF (value, "%u", val))
   {
-    fprintf (stderr, _("You must pass a number to the `%s' option.\n"), option);
+    FPRINTF (stderr, _("You must pass a number to the `%s' option.\n"), option);
     return GNUNET_SYSERR;
   }
   return GNUNET_OK;