diff options
Diffstat (limited to 'Src/main.c')
-rw-r--r-- | Src/main.c | 84 |
1 files changed, 1 insertions, 83 deletions
diff --git a/Src/main.c b/Src/main.c index dbf1addc5..c9c5fa867 100644 --- a/Src/main.c +++ b/Src/main.c @@ -34,87 +34,5 @@ int main(int argc, char **argv) { - char **t; - int t0; -#ifdef USE_LOCALE - setlocale(LC_ALL, ""); -#endif - - init_hackzero(argv, environ); - - /* - * Provisionally set up the type table to allow metafication. - * This will be done properly when we have decided if we are - * interactive - */ - typtab['\0'] |= IMETA; - typtab[STOUC(Meta) ] |= IMETA; - typtab[STOUC(Marker)] |= IMETA; - for (t0 = (int)STOUC(Pound); t0 <= (int)STOUC(Nularg); t0++) - typtab[t0] |= ITOK | IMETA; - - for (t = argv; *t; *t = metafy(*t, -1, META_ALLOC), t++); - - zsh_name = argv[0]; - do { - char *arg0 = zsh_name; - if (!(zsh_name = strrchr(arg0, '/'))) - zsh_name = arg0; - else - zsh_name++; - if (*zsh_name == '-') - zsh_name++; - if (strcmp(zsh_name, "su") == 0) { - char *sh = zgetenv("SHELL"); - if (sh && *sh && arg0 != sh) - zsh_name = sh; - else - break; - } else - break; - } while (zsh_name); - - fdtable_size = OPEN_MAX; - fdtable = zcalloc(fdtable_size); - - createoptiontable(); - emulate(zsh_name, 1); /* initialises most options */ - opts[LOGINSHELL] = (**argv == '-'); - opts[MONITOR] = 1; /* may be unset in init_io() */ - opts[PRIVILEGED] = (getuid() != geteuid() || getgid() != getegid()); - opts[USEZLE] = 1; /* may be unset in init_io() */ - parseargs(argv); /* sets INTERACTIVE, SHINSTDIN and SINGLECOMMAND */ - - SHTTY = -1; - init_io(); - setupvals(); - init_signals(); - init_bltinmods(); - run_init_scripts(); - init_misc(); - - for (;;) { - do - loop(1,0); - while (tok != ENDINPUT && (tok != LEXERR || isset(SHINSTDIN))); - if (tok == LEXERR) { - stopmsg = 1; - zexit(lastval, 0); - } - if (!(isset(IGNOREEOF) && interact)) { -#if 0 - if (interact) - fputs(islogin ? "logout\n" : "exit\n", shout); -#endif - zexit(lastval, 0); - continue; - } - noexitct++; - if (noexitct >= 10) { - stopmsg = 1; - zexit(lastval, 0); - } - zerrnam("zsh", (!islogin) ? "use 'exit' to exit." - : "use 'logout' to logout.", NULL, 0); - } + return (zsh_main(argc, argv)); } |