-LRN: fix socket_close logging
[oweals/gnunet.git] / src / util / program.c
index cccb7db736747b19f22c149baf3da95c8157ec60..6a0e5a5553edd1ff466417fd5cc1600668be7fca 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.
  */
@@ -124,9 +128,7 @@ 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,
+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)
@@ -212,27 +214,25 @@ GNUNET_PROGRAM_run (int argc,
   cnt += sizeof (defoptions) / sizeof (struct GNUNET_GETOPT_CommandLineOption);
   qsort (allopts, cnt, sizeof (struct GNUNET_GETOPT_CommandLineOption),
          &cmd_sorter);
-  loglev = GNUNET_strdup ("WARNING");
+  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 ==
@@ -252,7 +252,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;
 }