aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/make/main.c
diff options
context:
space:
mode:
authorHartmut Brandt <harti@FreeBSD.org>2005-05-18 14:50:35 +0000
committerHartmut Brandt <harti@FreeBSD.org>2005-05-18 14:50:35 +0000
commit87c7b797f051b66273238f486845148196a0fac3 (patch)
tree3e8049c3572286310644109c58b11ff0e0ea83b4 /usr.bin/make/main.c
parentcd660671cea3aebb46b9cf4b88a975279e1e92ee (diff)
downloadsrc-87c7b797f051b66273238f486845148196a0fac3.tar.gz
src-87c7b797f051b66273238f486845148196a0fac3.zip
Get rid of global variables for argument vectors produced by brk_string()
introduce a struct that holds all the information about an argument vector and pass that around. Author: Max Okumoto <okumoto@ucsd.edu> Obtained from: DragonFlyBSD
Notes
Notes: svn path=/head/; revision=146345
Diffstat (limited to 'usr.bin/make/main.c')
-rw-r--r--usr.bin/make/main.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/usr.bin/make/main.c b/usr.bin/make/main.c
index ad20f329e254..1d65ffb88450 100644
--- a/usr.bin/make/main.c
+++ b/usr.bin/make/main.c
@@ -575,8 +575,7 @@ rearg:
void
Main_ParseArgLine(char *line, int mflags)
{
- char **argv; /* Manufactured argument vector */
- int argc; /* Number of arguments in argv */
+ ArgArray aa;
if (line == NULL)
return;
@@ -586,11 +585,12 @@ Main_ParseArgLine(char *line, int mflags)
return;
if (mflags)
- argv = MAKEFLAGS_break(line, &argc);
+ MAKEFLAGS_break(&aa, line);
else
- argv = brk_string(line, &argc, TRUE);
+ brk_string(&aa, line, TRUE);
- MainParseArgs(argc, argv);
+ MainParseArgs(aa.argc, aa.argv);
+ ArgArray_Done(&aa);
}
static char *
@@ -785,8 +785,6 @@ main(int argc, char **argv)
* can be processed correctly */
Var_Init(environ); /* As well as the lists of variables for
* parsing arguments */
- str_init();
-
/*
* Initialize various variables.
* MAKE also gets this name, for compatibility