Changeset 1199 for trunk/src/kash/exec.c


Ignore:
Timestamp:
Oct 7, 2007, 12:04:05 AM (18 years ago)
Author:
bird
Message:

moving globals into shinstance...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kash/exec.c

    r1198 r1199  
    144144        const int has_ext = 1;
    145145#endif
    146         TRACE(("shellexec: argv[0]=%s idx=%d\n", argv[0], idx));
     146        TRACE((psh, "shellexec: argv[0]=%s idx=%d\n", argv[0], idx));
    147147        if (strchr(argv[0], '/') != NULL) {
    148148                cmdname = stalloc(psh, strlen(argv[0]) + 5);
    149149                strcpy(cmdname, argv[0]);
    150150                tryexec(cmdname, argv, envp, vforked, has_ext);
    151                 TRACE(("shellexec: cmdname=%s\n", cmdname));
     151                TRACE((psh, "shellexec: cmdname=%s\n", cmdname));
    152152                stunalloc(psh, cmdname);
    153153                e = errno;
     
    176176                break;
    177177        }
    178         TRACE(("shellexec failed for '%s', errno %d, vforked %d, suppressint %d\n",
     178        TRACE((psh, "shellexec failed for '%s', errno %d, vforked %d, suppressint %d\n",
    179179                argv[0], e, vforked, suppressint ));
    180         exerror(EXEXEC, "%s: %s", argv[0], errmsg(e, E_EXEC));
     180        exerror(psh, EXEXEC, "%s: %s", argv[0], errmsg(psh, e, E_EXEC));
    181181        /* NOTREACHED */
    182182}
     
    216216                         * with a normal fork(2).
    217217                         */
    218                         exraise(EXSHELLPROC);
     218                        exraise(psh, EXSHELLPROC);
    219219                }
    220220                initshellproc();
     
    230230#endif
    231231                setparam(argv + 1);
    232                 exraise(EXSHELLPROC);
     232                exraise(psh, EXSHELLPROC);
    233233        }
    234234        errno = e;
     
    274274                        break;
    275275                if (ap == &newargs[NEWARGS])
    276 bad:              error("Bad #! line");
     276bad:              error(psh, "Bad #! line");
    277277                STARTSTACKSTR(psh, outp);
    278278                do {
     
    287287                for (;;) {
    288288                        if (equal(p, "sh") || equal(p, "ash")) {
    289                                 TRACE(("hash bang self\n"));
     289                                TRACE((psh, "hash bang self\n"));
    290290                                return;
    291291                        }
     
    301301        i = (char *)ap - (char *)newargs;               /* size in bytes */
    302302        if (i == 0)
    303                 error("Bad #! line");
     303                error(psh, "Bad #! line");
    304304        for (ap2 = argv ; *ap2++ != NULL ; );
    305305        new = ckmalloc(i + ((char *)ap2 - (char *)argv));
     
    309309        ap = argv;
    310310        while (*ap2++ = *ap++);
    311         TRACE(("hash bang '%s'\n", new[0]));
     311        TRACE((psh, "hash bang '%s'\n", new[0]));
    312312        shellexec(new, envp, pathval(), 0, 0);
    313313        /* NOTREACHED */
     
    464464                                printentry(cmdp, verbose);
    465465                        }
    466                         output_flushall();
     466                        output_flushall(psh);
    467467                }
    468468                argptr++;
     
    487487                        stunalloc(psh, name);
    488488                } while (--idx >= 0);
    489                 out1str(name);
     489                out1str(psh, name);
    490490                break;
    491491        case CMDSPLBLTIN:
    492                 out1fmt("special builtin %s", cmdp->cmdname);
     492                out1fmt(psh, "special builtin %s", cmdp->cmdname);
    493493                break;
    494494        case CMDBUILTIN:
    495                 out1fmt("builtin %s", cmdp->cmdname);
     495                out1fmt(psh, "builtin %s", cmdp->cmdname);
    496496                break;
    497497        case CMDFUNCTION:
    498                 out1fmt("function %s", cmdp->cmdname);
     498                out1fmt(psh, "function %s", cmdp->cmdname);
    499499                if (verbose) {
    500500                        struct procstat ps;
     
    502502                        commandtext(&ps, cmdp->param.func);
    503503                        INTON;
    504                         out1str("() { ");
    505                         out1str(ps.cmd);
    506                         out1str("; }");
     504                        out1str(psh, "() { ");
     505                        out1str(psh, ps.cmd);
     506                        out1str(psh, "; }");
    507507                }
    508508                break;
    509509        default:
    510                 error("internal error: %s cmdtype %d", cmdp->cmdname, cmdp->cmdtype);
     510                error(psh, "internal error: %s cmdtype %d", cmdp->cmdname, cmdp->cmdtype);
    511511        }
    512512        if (cmdp->rehash)
    513                 out1c('*');
    514         out1c('\n');
     513                out1c(psh, '*');
     514        out1c(psh, '\n');
    515515}
    516516
     
    641641                        if (idx < prev)
    642642                                goto loop;
    643                         TRACE(("searchexec \"%s\": no change\n", name));
     643                        TRACE((psh, "searchexec \"%s\": no change\n", name));
    644644                        goto success;
    645645                }
     
    668668                        if ((cmdp = cmdlookup(name, 0)) == NULL ||
    669669                            cmdp->cmdtype != CMDFUNCTION)
    670                                 error("%s not defined in %s", name, fullname);
     670                                error(psh, "%s not defined in %s", name, fullname);
    671671                        stunalloc(psh, fullname);
    672672                        goto success;
     
    686686                }
    687687#endif
    688                 TRACE(("searchexec \"%s\" returns \"%s\"\n", name, fullname));
     688                TRACE((psh, "searchexec \"%s\" returns \"%s\"\n", name, fullname));
    689689                INTOFF;
    690690                if (act & DO_ALTPATH) {
     
    703703                delete_cmd_entry();
    704704        if (act & DO_ERR)
    705                 outfmt(out2, "%s: %s\n", name, errmsg(e, E_EXEC));
     705                outfmt(out2, "%s: %s\n", name, errmsg(psh, e, E_EXEC));
    706706        entry->cmdtype = CMDUNKNOWN;
    707707        return;
     
    10941094
    10951095        if (p_flag && (v_flag || V_flag))
    1096                 error("cannot specify -p with -v or -V");
     1096                error(psh, "cannot specify -p with -v or -V");
    10971097
    10981098        while ((arg = *argptr++)) {
    10991099                if (!v_flag)
    1100                         out1str(arg);
     1100                        out1str(psh, arg);
    11011101                /* First look at the keywords */
    11021102                for (pp = parsekwd; *pp; pp++)
     
    11081108                                err = 1;
    11091109                        else
    1110                                 out1str(" is a shell keyword\n");
     1110                                out1str(psh, " is a shell keyword\n");
    11111111                        continue;
    11121112                }
    11131113
    11141114                /* Then look at the aliases */
    1115                 if ((ap = lookupalias(arg, 1)) != NULL) {
     1115                if ((ap = lookupalias(psh, arg, 1)) != NULL) {
    11161116                        if (!v_flag)
    1117                                 out1fmt(" is an alias for \n");
    1118                         out1fmt("%s\n", ap->val);
     1117                                out1fmt(psh, " is an alias for \n");
     1118                        out1fmt(psh, "%s\n", ap->val);
    11191119                        continue;
    11201120                }
     
    11401140                                } while (--j >= 0);
    11411141                                if (!v_flag)
    1142                                         out1fmt(" is%s ",
     1142                                        out1fmt(psh, " is%s ",
    11431143                                            cmdp ? " a tracked alias for" : "");
    1144                                 out1fmt("%s\n", name);
     1144                                out1fmt(psh, "%s\n", name);
    11451145                        } else {
    11461146                                if (access(arg, X_OK) == 0) {
    11471147                                        if (!v_flag)
    1148                                                 out1fmt(" is ");
    1149                                         out1fmt("%s\n", arg);
     1148                                                out1fmt(psh, " is ");
     1149                                        out1fmt(psh, "%s\n", arg);
    11501150                                } else {
    11511151                                        if (!v_flag)
    1152                                                 out1fmt(": %s\n",
     1152                                                out1fmt(psh, ": %s\n",
    11531153                                                    strerror(errno));
    11541154                                        else
     
    11601160                case CMDFUNCTION:
    11611161                        if (!v_flag)
    1162                                 out1str(" is a shell function\n");
     1162                                out1str(psh, " is a shell function\n");
    11631163                        else
    1164                                 out1fmt("%s\n", arg);
     1164                                out1fmt(psh, "%s\n", arg);
    11651165                        break;
    11661166
    11671167                case CMDBUILTIN:
    11681168                        if (!v_flag)
    1169                                 out1str(" is a shell builtin\n");
     1169                                out1str(psh, " is a shell builtin\n");
    11701170                        else
    1171                                 out1fmt("%s\n", arg);
     1171                                out1fmt(psh, "%s\n", arg);
    11721172                        break;
    11731173
    11741174                case CMDSPLBLTIN:
    11751175                        if (!v_flag)
    1176                                 out1str(" is a special shell builtin\n");
     1176                                out1str(psh, " is a special shell builtin\n");
    11771177                        else
    1178                                 out1fmt("%s\n", arg);
     1178                                out1fmt(psh, "%s\n", arg);
    11791179                        break;
    11801180
    11811181                default:
    11821182                        if (!v_flag)
    1183                                 out1str(": not found\n");
     1183                                out1str(psh, ": not found\n");
    11841184                        err = 127;
    11851185                        break;
Note: See TracChangeset for help on using the changeset viewer.