projects
/
oweals
/
gnunet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
- dont resend useless channel_destroy messages
[oweals/gnunet.git]
/
src
/
util
/
program.c
diff --git
a/src/util/program.c
b/src/util/program.c
index 9d2e0a40d8bd93ccb651aadda83e7cd6b6327035..8b1d7773ed249cf4b9a802679647493a7664215e 100644
(file)
--- a/
src/util/program.c
+++ b/
src/util/program.c
@@
-25,15
+25,9
@@
*/
#include "platform.h"
*/
#include "platform.h"
-#include "gnunet_common.h"
-#include "gnunet_configuration_lib.h"
-#include "gnunet_crypto_lib.h"
-#include "gnunet_directories.h"
-#include "gnunet_getopt_lib.h"
-#include "gnunet_os_lib.h"
-#include "gnunet_program_lib.h"
+#include "gnunet_util_lib.h"
#include "gnunet_resolver_service.h"
#include "gnunet_resolver_service.h"
-#include "gnunet_
scheduler_lib
.h"
+#include "gnunet_
directories
.h"
#include <gcrypt.h>
#define LOG(kind,...) GNUNET_log_from (kind, "util", __VA_ARGS__)
#include <gcrypt.h>
#define LOG(kind,...) GNUNET_log_from (kind, "util", __VA_ARGS__)
@@
-146,9
+140,13
@@
GNUNET_PROGRAM_run2 (int argc, char *const *argv, const char *binaryName,
int run_without_scheduler)
{
struct CommandContext cc;
int run_without_scheduler)
{
struct CommandContext cc;
+#if ENABLE_NLS
char *path;
char *path;
+#endif
char *loglev;
char *logfile;
char *loglev;
char *logfile;
+ char *cfg_fn;
+ const char *xdg;
int ret;
unsigned int cnt;
unsigned long long skew_offset;
int ret;
unsigned int cnt;
unsigned long long skew_offset;
@@
-199,7
+197,6
@@
GNUNET_PROGRAM_run2 (int argc, char *const *argv, const char *binaryName,
cc.task = task;
cc.task_cls = task_cls;
cc.cfg = cfg = GNUNET_CONFIGURATION_create ();
cc.task = task;
cc.task_cls = task_cls;
cc.cfg = cfg = GNUNET_CONFIGURATION_create ();
-
/* prepare */
#if ENABLE_NLS
setlocale (LC_ALL, "");
/* prepare */
#if ENABLE_NLS
setlocale (LC_ALL, "");
@@
-227,7
+224,15
@@
GNUNET_PROGRAM_run2 (int argc, char *const *argv, const char *binaryName,
qsort (allopts, cnt, sizeof (struct GNUNET_GETOPT_CommandLineOption),
&cmd_sorter);
loglev = NULL;
qsort (allopts, cnt, sizeof (struct GNUNET_GETOPT_CommandLineOption),
&cmd_sorter);
loglev = NULL;
- cc.cfgfile = GNUNET_strdup (GNUNET_DEFAULT_USER_CONFIG_FILE);
+ xdg = getenv ("XDG_CONFIG_HOME");
+ if (NULL != xdg)
+ GNUNET_asprintf (&cfg_fn,
+ "%s%s%s",
+ xdg,
+ DIR_SEPARATOR_STR,
+ "gnunet.conf");
+ else
+ cfg_fn = GNUNET_strdup (GNUNET_DEFAULT_USER_CONFIG_FILE);
lpfx = GNUNET_strdup (binaryName);
if (NULL != (spc = strstr (lpfx, " ")))
*spc = '\0';
lpfx = GNUNET_strdup (binaryName);
if (NULL != (spc = strstr (lpfx, " ")))
*spc = '\0';
@@
-239,17
+244,20
@@
GNUNET_PROGRAM_run2 (int argc, char *const *argv, const char *binaryName,
GNUNET_free_non_null (cc.cfgfile);
GNUNET_free_non_null (loglev);
GNUNET_free_non_null (logfile);
GNUNET_free_non_null (cc.cfgfile);
GNUNET_free_non_null (loglev);
GNUNET_free_non_null (logfile);
+ GNUNET_free (cfg_fn);
GNUNET_free (allopts);
GNUNET_free (lpfx);
return (ret == GNUNET_SYSERR) ? GNUNET_SYSERR : GNUNET_OK;
}
GNUNET_free (allopts);
GNUNET_free (lpfx);
return (ret == GNUNET_SYSERR) ? GNUNET_SYSERR : GNUNET_OK;
}
+ if (NULL == cc.cfgfile)
+ cc.cfgfile = GNUNET_strdup (cfg_fn);
if (GNUNET_YES ==
GNUNET_DISK_file_test (cc.cfgfile))
(void) GNUNET_CONFIGURATION_load (cfg, cc.cfgfile);
else
{
(void) GNUNET_CONFIGURATION_load (cfg, NULL);
if (GNUNET_YES ==
GNUNET_DISK_file_test (cc.cfgfile))
(void) GNUNET_CONFIGURATION_load (cfg, cc.cfgfile);
else
{
(void) GNUNET_CONFIGURATION_load (cfg, NULL);
- if (0 != strcmp (cc.cfgfile,
GNUNET_DEFAULT_USER_CONFIG_FILE
))
+ if (0 != strcmp (cc.cfgfile,
cfg_fn
))
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
_("Could not access configuration file `%s'\n"),
cc.cfgfile);
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
_("Could not access configuration file `%s'\n"),
cc.cfgfile);
@@
-280,7
+288,8
@@
GNUNET_PROGRAM_run2 (int argc, char *const *argv, const char *binaryName,
/* clean up */
GNUNET_SPEEDUP_stop_ ();
GNUNET_CONFIGURATION_destroy (cfg);
/* clean up */
GNUNET_SPEEDUP_stop_ ();
GNUNET_CONFIGURATION_destroy (cfg);
- GNUNET_free_non_null (cc.cfgfile);
+ GNUNET_free (cc.cfgfile);
+ GNUNET_free (cfg_fn);
GNUNET_free_non_null (loglev);
GNUNET_free_non_null (logfile);
return GNUNET_OK;
GNUNET_free_non_null (loglev);
GNUNET_free_non_null (logfile);
return GNUNET_OK;
@@
-296,8
+305,8
@@
GNUNET_PROGRAM_run2 (int argc, char *const *argv, const char *binaryName,
* @param binaryHelp help text for the program
* @param options command line options
* @param task main function to run
* @param binaryHelp help text for the program
* @param options command line options
* @param task main function to run
- * @param task_cls closure for task
- * @return
GNUNET_SYSERR on error,
GNUNET_OK on success
+ * @param task_cls closure for
@a
task
+ * @return
#GNUNET_SYSERR on error, #
GNUNET_OK on success
*/
int
GNUNET_PROGRAM_run (int argc, char *const *argv, const char *binaryName,
*/
int
GNUNET_PROGRAM_run (int argc, char *const *argv, const char *binaryName,