fix
[oweals/gnunet.git] / src / util / program.c
index b91d0f59e9cfd032c4dae4e84371e20e101d1fd3..5582f30c69228c875c8c29fda87ecad5efc4e856 100644 (file)
 #include "gnunet_scheduler_lib.h"
 #include <gcrypt.h>
 
+#define LOG(kind,...) GNUNET_log_from (kind, "util", __VA_ARGS__)
+
+#define LOG_STRERROR_FILE(kind,syscall,filename) GNUNET_log_from_strerror_file (kind, "util", syscall, filename)
+
 /**
  * Context for the command.
  */
@@ -95,9 +99,12 @@ cmd_sorter (__const void *a1, __const void *a2)
 {
   __const struct GNUNET_GETOPT_CommandLineOption *c1 = a1;
   __const struct GNUNET_GETOPT_CommandLineOption *c2 = a2;
-  if (toupper ( (unsigned char) c1->shortName) > toupper ( (unsigned char) c2->shortName))
+
+  if (toupper ((unsigned char) c1->shortName) >
+      toupper ((unsigned char) c2->shortName))
     return 1;
-  if (toupper ( (unsigned char) c1->shortName) < toupper ( (unsigned char) c2->shortName))
+  if (toupper ((unsigned char) c1->shortName) <
+      toupper ((unsigned char) c2->shortName))
     return -1;
   if (c1->shortName > c2->shortName)
     return 1;
@@ -121,12 +128,10 @@ cmd_sorter (__const void *a1, __const void *a2)
  * @return GNUNET_SYSERR on error, GNUNET_OK on success
  */
 int
-GNUNET_PROGRAM_run (int argc,
-                    char *const *argv,
-                    const char *binaryName,
-                    const char *binaryHelp,
-                    const struct GNUNET_GETOPT_CommandLineOption *options,
-                    GNUNET_PROGRAM_Main task, void *task_cls)
+GNUNET_PROGRAM_run (int argc, char *const *argv, const char *binaryName,
+                   const char *binaryHelp,
+                   const struct GNUNET_GETOPT_CommandLineOption *options,
+                   GNUNET_PROGRAM_Main task, void *task_cls)
 {
   struct CommandContext cc;
   char *path;
@@ -138,6 +143,7 @@ GNUNET_PROGRAM_run (int argc,
   unsigned long long skew_variance;
   long long clock_offset;
   struct GNUNET_CONFIGURATION_Handle *cfg;
+
   struct GNUNET_GETOPT_CommandLineOption defoptions[] = {
     GNUNET_GETOPT_OPTION_CFG_FILE (&cc.cfgfile),
     GNUNET_GETOPT_OPTION_HELP (binaryHelp),
@@ -159,10 +165,10 @@ GNUNET_PROGRAM_run (int argc,
       int i;
       char *tok;
       char *cargs;
-      
+
       gargv = NULL;
       gargc = 0;
-      for (i=0;i<argc;i++)
+      for (i = 0; i < argc; i++)
        GNUNET_array_append (gargv, gargc, GNUNET_strdup (argv[i]));
       cargs = GNUNET_strdup (gargs);
       tok = strtok (cargs, " ");
@@ -170,7 +176,7 @@ GNUNET_PROGRAM_run (int argc,
        {
          GNUNET_array_append (gargv, gargc, GNUNET_strdup (tok));
          tok = strtok (NULL, " ");
-       }      
+       }
       GNUNET_free (cargs);
       GNUNET_array_append (gargv, gargc, NULL);
       argv = (char *const *) gargv;
@@ -198,45 +204,48 @@ GNUNET_PROGRAM_run (int argc,
     cnt++;
   allopts =
     GNUNET_malloc ((cnt +
-                    1) * sizeof (struct GNUNET_GETOPT_CommandLineOption) +
-                   sizeof (defoptions));
+                   1) * sizeof (struct GNUNET_GETOPT_CommandLineOption) +
+                  sizeof (defoptions));
   memcpy (allopts, defoptions, sizeof (defoptions));
   memcpy (&allopts
-          [sizeof (defoptions) /
-           sizeof (struct GNUNET_GETOPT_CommandLineOption)], options,
-          (cnt + 1) * sizeof (struct GNUNET_GETOPT_CommandLineOption));
+         [sizeof (defoptions) /
+          sizeof (struct GNUNET_GETOPT_CommandLineOption)], options,
+         (cnt + 1) * sizeof (struct GNUNET_GETOPT_CommandLineOption));
   cnt +=
     sizeof (defoptions) / sizeof (struct GNUNET_GETOPT_CommandLineOption);
   qsort (allopts, cnt, sizeof (struct GNUNET_GETOPT_CommandLineOption),
-         &cmd_sorter);
-  loglev = GNUNET_strdup ("WARNING");
+        &cmd_sorter);
+  loglev = NULL;
   cc.cfgfile = GNUNET_strdup (GNUNET_DEFAULT_USER_CONFIG_FILE);
   lpfx = GNUNET_strdup (binaryName);
   if (NULL != (spc = strstr (lpfx, " ")))
     *spc = '\0';
-  if ((-1 == (ret = GNUNET_GETOPT_run (binaryName,
-                                       allopts,
-                                       (unsigned int) argc, argv))) ||
-      ((GNUNET_OK !=
-        GNUNET_log_setup (lpfx,
-                          loglev,
-                          logfile)) ||
-       (GNUNET_OK != GNUNET_CONFIGURATION_load (cfg, cc.cfgfile))))
+  if ((-1 ==
+       (ret =
+       GNUNET_GETOPT_run (binaryName, allopts, (unsigned int) argc, argv)))
+      || (GNUNET_OK != GNUNET_log_setup (lpfx, loglev, logfile)))
     {
       GNUNET_CONFIGURATION_destroy (cfg);
       GNUNET_free_non_null (cc.cfgfile);
-      GNUNET_free (loglev);
+      GNUNET_free_non_null (loglev);
+      GNUNET_free_non_null (logfile);
       GNUNET_free (allopts);
       GNUNET_free (lpfx);
       return GNUNET_SYSERR;
     }
+  (void) GNUNET_CONFIGURATION_load (cfg, cc.cfgfile);
   GNUNET_free (allopts);
   GNUNET_free (lpfx);
-  if (GNUNET_OK == GNUNET_CONFIGURATION_get_value_number(cc.cfg, "testing", "skew_offset", &skew_offset) &&
-      (GNUNET_OK == GNUNET_CONFIGURATION_get_value_number(cc.cfg, "testing", "skew_variance", &skew_variance)))
+  if (GNUNET_OK ==
+      GNUNET_CONFIGURATION_get_value_number (cc.cfg, "testing", "skew_offset",
+                                            &skew_offset) &&
+      (GNUNET_OK ==
+       GNUNET_CONFIGURATION_get_value_number (cc.cfg, "testing",
+                                             "skew_variance",
+                                             &skew_variance)))
     {
       clock_offset = skew_offset - skew_variance;
-      GNUNET_TIME_set_offset(clock_offset);
+      GNUNET_TIME_set_offset (clock_offset);
     }
   /* run */
   cc.args = &argv[ret];
@@ -245,7 +254,8 @@ GNUNET_PROGRAM_run (int argc,
   /* clean up */
   GNUNET_CONFIGURATION_destroy (cfg);
   GNUNET_free_non_null (cc.cfgfile);
-  GNUNET_free (loglev);
+  GNUNET_free_non_null (loglev);
+  GNUNET_free_non_null (logfile);
   return GNUNET_OK;
 }