On Tue, Oct 30, 2018 at 08:11:24AM +0000, Joseph Mayer wrote:
>
> On a quick sourcecode check I didn't see any code paths e.g.
> "if (argv[0] matches "ksh") { something } else { something else }"
> however I presume I missed something.
>
yes, the check was too quick, it seems :)
src/bin/ksh/main.c
134 int
135 main(int argc, char *argv[])
136 {
137 int i;
138 int argi;
139 Source *s;
140 struct block *l;
141 int restricted, errexit;
142 char **wp;
143 struct env env;
144 pid_t ppid;
145
146 kshname = argv[0];
147
...
236 /* Check to see if we're /bin/sh. */
237 if (!strcmp(kshname, "sh") || !strcmp(kshname, "-sh") ||
238 (strlen(kshname) >= 3 &&
239 !strcmp(&kshname[strlen(kshname) - 3], "/sh"))) {
240 Flag(FSH) = 1;
241 version_param = "SH_VERSION";
242 }
243
--
Sebastien Marie
No comments:
Post a Comment