Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void processStage(token *tok) {
- int numArgs = getNumArgs(tok);
- char *args[numArgs+1];
- int i = 0;
- while(i < numArgs) {
- args[i] = tok[0].text;
- i++;
- tok++;
- }
- while(tok[0].type == LOCAL) {
- setLocalVars(tok[0].text);
- tok++;
- }
- if (numArgs > 0) {
- // List of args must be null terminated
- args[numArgs] = NULL;
- while(RED_OP(tok[0].type)) { // HANDLE REDIRECTS
- handleRedirects(tok[0]);
- tok++;
- }
- char *cmd = args[0];
- execvp(cmd, args);
- } else {
- while(RED_OP(tok[0].type)) { // HANDLE REDIRECTS
- handleRedirects(tok[0]);
- tok++;
- }
- tok++;
- exit(process(tok));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement