diff options
author | Christian Grothoff <christian@grothoff.org> | 2009-11-16 08:32:27 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2009-11-16 08:32:27 +0000 |
commit | b1685ed04171415c242ae8e39061e899a8c6f2f5 (patch) | |
tree | 1c7ba32c278eae2e37cc8933757548785d220bd3 /src/util/program.c | |
parent | c3140081a55e9913de37ff21734b3da5b89b4302 (diff) | |
download | gnunet-b1685ed04171415c242ae8e39061e899a8c6f2f5.tar.gz gnunet-b1685ed04171415c242ae8e39061e899a8c6f2f5.zip |
bugfix
Diffstat (limited to 'src/util/program.c')
-rw-r--r-- | src/util/program.c | 24 |
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; |