Lines 83-89
Link Here
|
83 |
void (*func)(const char *); |
83 |
void (*func)(const char *); |
84 |
}; |
84 |
}; |
85 |
|
85 |
|
86 |
|
|
|
87 |
#ifndef NO_HISTORY |
86 |
#ifndef NO_HISTORY |
88 |
struct var vhistsize; |
87 |
struct var vhistsize; |
89 |
struct var vterm; |
88 |
struct var vterm; |
Lines 97-102
Link Here
|
97 |
struct var vps4; |
96 |
struct var vps4; |
98 |
static struct var voptind; |
97 |
static struct var voptind; |
99 |
struct var vdisvfork; |
98 |
struct var vdisvfork; |
|
|
99 |
static struct var vlinno; |
100 |
#define LINNOBUFSIZ 64 |
101 |
static char vlinnobuf[LINNOBUFSIZ]; |
100 |
|
102 |
|
101 |
struct localvar *localvars; |
103 |
struct localvar *localvars; |
102 |
int forcelocal; |
104 |
int forcelocal; |
Lines 103-136
Link Here
|
103 |
|
105 |
|
104 |
static const struct varinit varinit[] = { |
106 |
static const struct varinit varinit[] = { |
105 |
#ifndef NO_HISTORY |
107 |
#ifndef NO_HISTORY |
106 |
{ &vhistsize, VUNSET, "HISTSIZE=", |
108 |
{ &vhistsize, VUNSET, "HISTSIZE=", sethistsize }, |
107 |
sethistsize }, |
109 |
{ &vterm, VUNSET, "TERM=", setterm }, |
108 |
#endif |
110 |
#endif |
109 |
{ &vifs, 0, "IFS= \t\n", |
111 |
{ &vifs, 0, "IFS= \t\n", NULL }, |
110 |
NULL }, |
112 |
{ &vmail, VUNSET, "MAIL=", NULL }, |
111 |
{ &vmail, VUNSET, "MAIL=", |
113 |
{ &vmpath, VUNSET, "MAILPATH=", NULL }, |
112 |
NULL }, |
114 |
{ &vpath, 0, "PATH=" _PATH_DEFPATH, changepath }, |
113 |
{ &vmpath, VUNSET, "MAILPATH=", |
|
|
114 |
NULL }, |
115 |
{ &vpath, 0, "PATH=" _PATH_DEFPATH, |
116 |
changepath }, |
117 |
/* |
115 |
/* |
118 |
* vps1 depends on uid |
116 |
* vps1 depends on uid |
119 |
*/ |
117 |
*/ |
120 |
{ &vps2, 0, "PS2=> ", |
118 |
{ &vps2, 0, "PS2=> ", NULL }, |
121 |
NULL }, |
119 |
{ &vps4, 0, "PS4=+ ", NULL }, |
122 |
{ &vps4, 0, "PS4=+ ", |
120 |
{ &voptind, 0, "OPTIND=1", getoptsreset }, |
123 |
NULL }, |
121 |
{ &vdisvfork, VUNSET, "SH_DISABLE_VFORK=", NULL }, |
124 |
#ifndef NO_HISTORY |
122 |
{ &vlinno, VREADONLY, vlinnobuf, NULL }, |
125 |
{ &vterm, VUNSET, "TERM=", |
123 |
{ NULL, 0, NULL, NULL } |
126 |
setterm }, |
|
|
127 |
#endif |
128 |
{ &voptind, 0, "OPTIND=1", |
129 |
getoptsreset }, |
130 |
{ &vdisvfork, VUNSET, "SH_DISABLE_VFORK=", |
131 |
NULL }, |
132 |
{ NULL, 0, NULL, |
133 |
NULL } |
134 |
}; |
124 |
}; |
135 |
|
125 |
|
136 |
static struct var *vartab[VTABSIZE]; |
126 |
static struct var *vartab[VTABSIZE]; |
Lines 164-169
Link Here
|
164 |
struct var **vpp; |
154 |
struct var **vpp; |
165 |
char **envp; |
155 |
char **envp; |
166 |
|
156 |
|
|
|
157 |
setlinno(1); |
158 |
|
167 |
for (ip = varinit ; (vp = ip->var) != NULL ; ip++) { |
159 |
for (ip = varinit ; (vp = ip->var) != NULL ; ip++) { |
168 |
if (find_var(ip->text, &vpp, &vp->name_len) != NULL) |
160 |
if (find_var(ip->text, &vpp, &vp->name_len) != NULL) |
169 |
continue; |
161 |
continue; |
Lines 418-423
Link Here
|
418 |
INTON; |
410 |
INTON; |
419 |
} |
411 |
} |
420 |
|
412 |
|
|
|
413 |
void |
414 |
setlinno(int n) |
415 |
{ |
416 |
snprintf(vlinnobuf, LINNOBUFSIZ, "LINENO=%d", n); |
417 |
} |
421 |
|
418 |
|
422 |
|
419 |
|
423 |
/* |
420 |
/* |