Lines 78-85
Link Here
|
78 |
static int loopnest; /* current loop nesting level */ |
78 |
static int loopnest; /* current loop nesting level */ |
79 |
int funcnest; /* depth of function calls */ |
79 |
int funcnest; /* depth of function calls */ |
80 |
static int builtin_flags; /* evalcommand flags for builtins */ |
80 |
static int builtin_flags; /* evalcommand flags for builtins */ |
|
|
81 |
static int elinno; |
81 |
|
82 |
|
82 |
|
|
|
83 |
char *commandname; |
83 |
char *commandname; |
84 |
struct arglist *cmdenviron; |
84 |
struct arglist *cmdenviron; |
85 |
int exitstatus; /* exit status of last command */ |
85 |
int exitstatus; /* exit status of last command */ |
Lines 809-814
Link Here
|
809 |
return (0); |
809 |
return (0); |
810 |
} |
810 |
} |
811 |
|
811 |
|
|
|
812 |
int getelinno() |
813 |
{ |
814 |
return elinno; |
815 |
} |
816 |
|
812 |
/* |
817 |
/* |
813 |
* Execute a simple command. |
818 |
* Execute a simple command. |
814 |
* Note: This may or may not return if (flags & EV_EXIT). |
819 |
* Note: This may or may not return if (flags & EV_EXIT). |
Lines 853-858
Link Here
|
853 |
/* Add one slot at the beginning for tryexec(). */ |
858 |
/* Add one slot at the beginning for tryexec(). */ |
854 |
appendarglist(&arglist, nullstr); |
859 |
appendarglist(&arglist, nullstr); |
855 |
for (argp = cmd->ncmd.args ; argp ; argp = argp->narg.next) { |
860 |
for (argp = cmd->ncmd.args ; argp ; argp = argp->narg.next) { |
|
|
861 |
elinno = argp->narg.linno; |
856 |
if (varflag && isassignment(argp->narg.text)) { |
862 |
if (varflag && isassignment(argp->narg.text)) { |
857 |
expandarg(argp, varflag == 1 ? &varlist : &arglist, |
863 |
expandarg(argp, varflag == 1 ? &varlist : &arglist, |
858 |
EXP_VARTILDE); |
864 |
EXP_VARTILDE); |