aboutsummaryrefslogtreecommitdiff
path: root/src/util/program.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2009-11-16 08:32:27 +0000
committerChristian Grothoff <christian@grothoff.org>2009-11-16 08:32:27 +0000
commitb1685ed04171415c242ae8e39061e899a8c6f2f5 (patch)
tree1c7ba32c278eae2e37cc8933757548785d220bd3 /src/util/program.c
parentc3140081a55e9913de37ff21734b3da5b89b4302 (diff)
downloadgnunet-b1685ed04171415c242ae8e39061e899a8c6f2f5.tar.gz
gnunet-b1685ed04171415c242ae8e39061e899a8c6f2f5.zip
bugfix
Diffstat (limited to 'src/util/program.c')
-rw-r--r--src/util/program.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/util/program.c b/src/util/program.c
index 695a6f9bc..f74da8c7f 100644
--- a/src/util/program.c
+++ b/src/util/program.c
@@ -35,6 +35,12 @@
35#include "gnunet_scheduler_lib.h" 35#include "gnunet_scheduler_lib.h"
36#include <gcrypt.h> 36#include <gcrypt.h>
37 37
38#if HAVE_ARGZ_H
39#include <argz.h>
40#else
41#include "program_lib_argz.c"
42#endif
43
38/** 44/**
39 * Context for the command. 45 * Context for the command.
40 */ 46 */
@@ -139,7 +145,25 @@ GNUNET_PROGRAM_run (int argc,
139 GNUNET_GETOPT_OPTION_VERSION (PACKAGE_VERSION) 145 GNUNET_GETOPT_OPTION_VERSION (PACKAGE_VERSION)
140 }; 146 };
141 struct GNUNET_GETOPT_CommandLineOption *allopts; 147 struct GNUNET_GETOPT_CommandLineOption *allopts;
148 const char *gargs;
142 149
150 gargs = getenv ("GNUNET_ARGS");
151 if (gargs != NULL)
152 {
153 char *gargz;
154 size_t gargl;
155 char **gargv;
156 int i;
157
158 argz_create_sep (gargs, ' ', &gargz, &gargl);
159 for (i=0;i<argc;i++)
160 argz_insert (&gargz, &gargl, gargz, argv[i]);
161 gargv = GNUNET_malloc (sizeof (char*) * (gargl+1));
162 argz_extract (gargz, gargl, gargv);
163 argc = argz_count (gargz, gargl);
164 free (gargz);
165 argv = (char *const *) gargv;
166 }
143 memset (&cc, 0, sizeof (cc)); 167 memset (&cc, 0, sizeof (cc));
144 loglev = NULL; 168 loglev = NULL;
145 cc.task = task; 169 cc.task = task;