I was hoping for some advice from someone more knowledgeable than myself. I'm messing around and trying to learn how to write a shell. So far, I've successfully used flex to parse input and properly put it into a char**. Then I fork() and run execvp() in the child process and wait() in the parent process. Works fine, except that when I run one command it works, but when I run another, it doesn't. What gives?
>echo itworks
itworks
>ls
>echo itworks
>wtf
>^C
Any advice would be appreciated. I don't understand why this would happen. ps doesn't list and child processes, either.
Name:
Anonymous2009-09-19 22:39
Oh and yes, I have put all the code in a while(1){...} loop.
Name:
Anonymous2009-09-19 22:45
some code might help
Name:
Anonymous2009-09-19 23:01
flex
Now you have two problems.
Name:
Anonymous2009-09-19 23:05
Here's the body of the loop. One may assume that all variables and functions used are defined, of course.
>>6
At the risk of sounding like a smarmy asshole, wouldn't this have been picked up right away if you'd used a debugger?
Name:
Anonymous2009-09-19 23:46
>>7
Sir, please refrain from being negative when speaking about the glorious way of indenting that fellow has used.
I, for one, jizzed in my pants upon seeing such a clean and clear indentation style applied to his code.
Name:
Anonymous2009-09-20 2:20
>>5
Your loop isn't long enough and you've defined too many functions.
Name:
Anonymous2009-09-20 4:31
>>7 thank you. I think it is the best type of indentation and I always use it.
>>10
yes, I considated all the error handling functions into one. Though, I don't understand by what you mean by saying that my loop isn't long enough. If you're referring to the fact that I only handle one pipe per line, I do plan on expanding it to general cases once I see that I have the logic down.
Name:
Anonymous2009-09-20 4:36
K&R WAS HERE, GNU STYLE IS LOSER
Name:
Anonymous2009-09-20 4:42
PYTHON WAS HERE, C IS LOSER
Name:
Anonymous2009-09-20 4:46
C WAS HERE, LAUGHED AT PYTHON BABIES
Name:
Anonymous2009-09-20 4:47
SCHEME WAS HERE, CRIED AT THE STATE OF /PROG/
Name:
Anonymous2009-09-20 5:06
so have you added piping and redirection yet?
Name:
Anonymous2009-09-20 5:11
>>12
That was SARCASM and your loop is TOO DAMN LONG and consider writing MORE FUNCTIONS.