handling replies continuously from server
[oweals/gnunet.git] / src / util / getopt_helpers.c
index 8564d591f151cc48f9f60ddf58477e15a46af018..a31080fa0cbb3bee828b109f0c2315cad2ff45af 100644 (file)
@@ -42,8 +42,8 @@
  */
 int
 GNUNET_GETOPT_print_version_ (struct GNUNET_GETOPT_CommandLineProcessorContext
-                             *ctx, void *scls, const char *option,
-                             const char *value)
+                              *ctx, void *scls, const char *option,
+                              const char *value)
 {
   const char *version = scls;
 
@@ -66,8 +66,8 @@ GNUNET_GETOPT_print_version_ (struct GNUNET_GETOPT_CommandLineProcessorContext
  */
 int
 GNUNET_GETOPT_format_help_ (struct GNUNET_GETOPT_CommandLineProcessorContext
-                           *ctx, void *scls, const char *option,
-                           const char *value)
+                            *ctx, void *scls, const char *option,
+                            const char *value)
 {
   const char *about = scls;
   size_t slen;
@@ -79,76 +79,79 @@ 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)
+  {
+    if (opt[i].shortName == '\0')
+      printf ("      ");
+    else
+      printf ("  -%c, ", opt[i].shortName);
+    printf ("--%s", opt[i].name);
+    slen = 8 + strlen (opt[i].name);
+    if (opt[i].argumentHelp != NULL)
     {
-      if (opt[i].shortName == '\0')
-       printf ("      ");
-      else
-       printf ("  -%c, ", opt[i].shortName);
-      printf ("--%s", opt[i].name);
-      slen = 8 + strlen (opt[i].name);
-      if (opt[i].argumentHelp != NULL)
-       {
-         printf ("=%s", opt[i].argumentHelp);
-         slen += 1 + strlen (opt[i].argumentHelp);
-       }
-      if (slen > BORDER)
-       {
-         printf ("\n%*s", BORDER, "");
-         slen = BORDER;
-       }
-      if (slen < BORDER)
-       {
-         printf ("%*s", (int) (BORDER - slen), "");
-         slen = BORDER;
-       }
-      if (0 < strlen (opt[i].description))
-       trans = gettext (opt[i].description);
-      else
-       trans = "";
-      ml = strlen (trans);
-      p = 0;
-    OUTER:
-      while (ml - p > 78 - slen)
-       {
-         for (j = p + 78 - slen; j > p; j--)
-           {
-             if (isspace ((unsigned char) trans[j]))
-               {
-                 scp = GNUNET_malloc (j - p + 1);
-                 memcpy (scp, &trans[p], j - p);
-                 scp[j - p] = '\0';
-                 printf ("%s\n%*s", scp, BORDER + 2, "");
-                 GNUNET_free (scp);
-                 p = j + 1;
-                 slen = BORDER + 2;
-                 goto OUTER;
-               }
-           }
-         /* could not find space to break line */
-         scp = GNUNET_malloc (78 - slen + 1);
-         memcpy (scp, &trans[p], 78 - slen);
-         scp[78 - slen] = '\0';
-         printf ("%s\n%*s", scp, BORDER + 2, "");
-         GNUNET_free (scp);
-         slen = BORDER + 2;
-         p = p + 78 - slen;
-       }
-      /* print rest */
-      if (p < ml)
-       printf ("%s\n", &trans[p]);
-      if (strlen (trans) == 0)
-       printf ("\n");
-      i++;
+      printf ("=%s", opt[i].argumentHelp);
+      slen += 1 + strlen (opt[i].argumentHelp);
     }
+    if (slen > BORDER)
+    {
+      printf ("\n%*s", BORDER, "");
+      slen = BORDER;
+    }
+    if (slen < BORDER)
+    {
+      printf ("%*s", (int) (BORDER - slen), "");
+      slen = BORDER;
+    }
+    if (0 < strlen (opt[i].description))
+      trans = gettext (opt[i].description);
+    else
+      trans = "";
+    ml = strlen (trans);
+    p = 0;
+OUTER:
+    while (ml - p > 78 - slen)
+    {
+      for (j = p + 78 - slen; j > p; j--)
+      {
+        if (isspace ((unsigned char) trans[j]))
+        {
+          scp = GNUNET_malloc (j - p + 1);
+          memcpy (scp, &trans[p], j - p);
+          scp[j - p] = '\0';
+          printf ("%s\n%*s", scp, BORDER + 2, "");
+          GNUNET_free (scp);
+          p = j + 1;
+          slen = BORDER + 2;
+          goto OUTER;
+        }
+      }
+      /* could not find space to break line */
+      scp = GNUNET_malloc (78 - slen + 1);
+      memcpy (scp, &trans[p], 78 - slen);
+      scp[78 - slen] = '\0';
+      printf ("%s\n%*s", scp, BORDER + 2, "");
+      GNUNET_free (scp);
+      slen = BORDER + 2;
+      p = p + 78 - slen;
+    }
+    /* print rest */
+    if (p < ml)
+      printf ("%s\n", &trans[p]);
+    if (strlen (trans) == 0)
+      printf ("\n");
+    i++;
+  }
   printf ("Report bugs to gnunet-developers@gnu.org.\n"
-         "GNUnet home page: http://www.gnu.org/software/gnunet/\n"
-         "General help using GNU software: http://www.gnu.org/gethelp/\n");
+          "GNUnet home page: http://www.gnu.org/software/gnunet/\n"
+          "General help using GNU software: http://www.gnu.org/gethelp/\n");
   return GNUNET_SYSERR;
 }
 
@@ -168,10 +171,9 @@ GNUNET_GETOPT_format_help_ (struct GNUNET_GETOPT_CommandLineProcessorContext
  * @return GNUNET_OK
  */
 int
-GNUNET_GETOPT_increment_value (struct
-                              GNUNET_GETOPT_CommandLineProcessorContext *ctx,
-                              void *scls, const char *option,
-                              const char *value)
+GNUNET_GETOPT_increment_value (struct GNUNET_GETOPT_CommandLineProcessorContext
+                               *ctx, void *scls, const char *option,
+                               const char *value)
 {
   int *val = scls;
 
@@ -196,7 +198,7 @@ GNUNET_GETOPT_increment_value (struct
  */
 int
 GNUNET_GETOPT_set_one (struct GNUNET_GETOPT_CommandLineProcessorContext *ctx,
-                      void *scls, const char *option, const char *value)
+                       void *scls, const char *option, const char *value)
 {
   int *val = scls;
 
@@ -220,9 +222,8 @@ GNUNET_GETOPT_set_one (struct GNUNET_GETOPT_CommandLineProcessorContext *ctx,
  * @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;
 
@@ -247,24 +248,22 @@ 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);
-      return GNUNET_SYSERR;
-    }
+  {
+    FPRINTF (stderr, _("You must pass a number to the `%s' option.\n"), option);
+    return GNUNET_SYSERR;
+  }
   return GNUNET_OK;
 }
 
 
 /**
- * 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
@@ -278,16 +277,15 @@ GNUNET_GETOPT_set_ulong (struct GNUNET_GETOPT_CommandLineProcessorContext
  */
 int
 GNUNET_GETOPT_set_uint (struct GNUNET_GETOPT_CommandLineProcessorContext *ctx,
-                       void *scls, const char *option, const char *value)
+                        void *scls, const char *option, const char *value)
 {
   unsigned int *val = scls;
 
   if (1 != SSCANF (value, "%u", val))
-    {
-      fprintf (stderr, _("You must pass a number to the `%s' option.\n"),
-              option);
-      return GNUNET_SYSERR;
-    }
+  {
+    FPRINTF (stderr, _("You must pass a number to the `%s' option.\n"), option);
+    return GNUNET_SYSERR;
+  }
   return GNUNET_OK;
 }