summary refs log tree commit diff
path: root/src/exec.c
diff options
context:
space:
mode:
authorHarald van Dijk <harald@gigawatt.nl>2011-03-15 15:44:47 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2011-03-15 15:44:47 +0800
commitaccde25e09f39d3aca64a50c72f23bf84d312757 (patch)
treee925e3d3adf92a853a2d4c56d7cf9b9b2ff22ee9 /src/exec.c
parent[SHELL] Port to Solaris (diff)
downloaddash-accde25e09f39d3aca64a50c72f23bf84d312757.tar.gz
dash-accde25e09f39d3aca64a50c72f23bf84d312757.zip
[EVAL] Let funcnode refer to a function definition, not its first command
It is not unrelated: I changed the meaning of struct funcnode's field n
to refer to the function definition, rather than the list of the
function's commands, because I needed to refer to the function
definition node from evalfun, which only gets passed a funcnode. But it
is something that could be applied independently (without being useful
by itself), so I've attached it as a separate patch for easier review.

Signed-off-by: Harald van Dijk <harald@gigawatt.nl>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'src/exec.c')
-rw-r--r--src/exec.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/exec.c b/src/exec.c
index 194088b..a13ad67 100644
--- a/src/exec.c
+++ b/src/exec.c
@@ -690,14 +690,14 @@ addcmdentry(char *name, struct cmdentry *entry)
  */
 
 void
-defun(char *name, union node *func)
+defun(union node *func)
 {
 	struct cmdentry entry;
 
 	INTOFF;
 	entry.cmdtype = CMDFUNCTION;
 	entry.u.func = copyfunc(func);
-	addcmdentry(name, &entry);
+	addcmdentry(func->narg.text, &entry);
 	INTON;
 }