diff --git a/334/Makefile b/334/Makefile index f67c39b..54e2d8c 100644 --- a/334/Makefile +++ b/334/Makefile @@ -1,10 +1,14 @@ # Single make file for everything becauz lazy -object=hw.c +object=homework/msh/msh.c cc=gcc output=bin default: $(cc) $(object) -o $(output) +run: + ./bin + + clean: rm -f $(output) diff --git a/334/homework/2/msh.c b/334/homework/2/msh.c deleted file mode 100644 index 218efb4..0000000 --- a/334/homework/2/msh.c +++ /dev/null @@ -1,46 +0,0 @@ -#include -#include -#include - -#define PROMPT "msh> " -#define EXIT_CMD "exit" -#define MAX_BUF 121 - -void echo(const char*); -void remove_newline(char*); -void exit_branch(const char*); - -int main(void) { - char buffer[MAX_BUF]; - while(1) { - printf("%s", PROMPT); - fgets(buffer, MAX_BUF, stdin); - if(!strlen(buffer)) { - return 0; - } - // process the input - remove_newline(buffer); - exit_branch(buffer); - echo(buffer); - } - return 0; -} - -void echo(const char* buf) { - printf("%s\n", buf); -} - - -void remove_newline(char* buf) { - char* c = buf; - while(*c != '\n') { c++; } - *c='\0'; -} - -void exit_branch(const char* buf) { - if(strcmp(buf, EXIT_CMD)) { - return; - } - exit(0); - return; // just for gcc but exit shouldn't fail -} diff --git a/334/homework/3/msh.c b/334/homework/msh/msh.c similarity index 100% rename from 334/homework/3/msh.c rename to 334/homework/msh/msh.c