From 8e7fb750bbab2581e06b523a10bcf8becd3657b5 Mon Sep 17 00:00:00 2001 From: Brandon Rodriguez <brodriguez8774@gmail.com> Date: Thu, 2 Nov 2017 10:11:01 -0400 Subject: [PATCH] Add description and notes to project --- Main.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/Main.c b/Main.c index 68117d0..932d1a6 100644 --- a/Main.c +++ b/Main.c @@ -8,13 +8,40 @@ /** * Description: + * Shell program. * + * Built in Commands: + * cd: Takes exactly one additional arg. Cannot be combined with piping. + * pwd: Takes no args. Cannot be combined with piping. + * umask: Can take either 0 or one args. Cannot be combined with piping. + * + * Piping can link indefinitely, so far as I can tell. + * At the very least, up to four pipes (such as the following) + * ls -l | grep a | grep b | grep c | grep v + * appears to work with no issues or memory leaks. */ /** * Known Issues: + * Does not handle < or > symbols. + * Does not handle backgrounding (& symbol). + */ + + +/** + * Notes: + * I did not create any "toy" programs (as defined in the assignment doc) + * so I cannot include those. However, I did try to start with a simple case + * and slowly "upgrade" it to the current assignment. + * + * Initially, I just focused on getting provided makeargv file to work. + * Then, I got the assignment to execlp for a single, static argument. + * Next, I refactored to use execvp instead of execlp. + * Last, I effectively updated the program to accept (seemingly) infinite piping. * + * To view these, look at my commit history (via something like gitk) and view + * the commits between 10-20-17 and 10-26-17. */ -- GitLab