From a4960425beb1d2d797b37781d2e1c31b20c77c32 Mon Sep 17 00:00:00 2001 From: Park Seongjun <jg7502@ajou.ac.kr> Date: Fri, 11 May 2018 20:32:50 +0900 Subject: [PATCH] report --- .idea/workspace.xml | 367 +++++++++++++++++++++++++++++++------------- 201221030.docx | Bin 0 -> 14517 bytes src/commands.c | 13 +- 3 files changed, 274 insertions(+), 106 deletions(-) create mode 100644 201221030.docx diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 511d383..40d6238 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -10,7 +10,8 @@ </component> <component name="ChangeListManager"> <list default="true" id="8239070f-6583-4d64-a292-d827a40a35ed" name="Default" comment=""> - <change beforePath="$PROJECT_DIR$/src/utils.c" beforeDir="false" afterPath="$PROJECT_DIR$/src/utils.c" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/src/commands.c" beforeDir="false" afterPath="$PROJECT_DIR$/src/commands.c" afterDir="false" /> </list> <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> <option name="TRACKING_ENABLED" value="true" /> @@ -20,81 +21,63 @@ <option name="LAST_RESOLUTION" value="IGNORE" /> </component> <component name="FileEditorManager"> - <splitter split-orientation="horizontal" split-proportion="0.20726992"> - <split-first> - <leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> - <file leaf-file-name="built_in.c" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/built_in.c"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="-459"> - <caret line="41" column="20" selection-start-line="41" selection-start-column="20" selection-end-line="41" selection-end-column="20" /> - </state> - </provider> - </entry> - </file> - <file leaf-file-name="built_in.h" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/include/built_in.h"> - <provider selected="true" editor-type-id="text-editor" /> - </entry> - </file> - <file leaf-file-name="main.c" pinned="false" current-in-tab="true"> - <entry file="file://$PROJECT_DIR$/src/main.c"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="152"> - <caret line="8" lean-forward="true" selection-start-line="8" selection-end-line="8" /> - </state> - </provider> - </entry> - </file> - <file leaf-file-name="utils.c" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/utils.c"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="225"> - <caret line="17" selection-start-line="17" selection-end-line="17" /> - </state> - </provider> - </entry> - </file> - </leaf> - </split-first> - <split-second> - <leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> - <file leaf-file-name="utils.c" pinned="false" current-in-tab="true"> - <entry file="file://$PROJECT_DIR$/src/utils.c"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="500"> - <caret line="57" column="5" selection-start-line="57" selection-start-column="5" selection-end-line="57" selection-end-column="5" /> - </state> - </provider> - </entry> - </file> - <file leaf-file-name="commands.c" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/commands.c"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="1294"> - <caret line="91" selection-start-line="91" selection-end-line="91" /> - </state> - </provider> - </entry> - </file> - <file leaf-file-name="signal_handlers.c" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/signal_handlers.c"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="228"> - <caret line="12" column="21" selection-start-line="12" selection-start-column="21" selection-end-line="12" selection-end-column="21" /> - </state> - </provider> - </entry> - </file> - </leaf> - </split-second> - </splitter> + <leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> + <file leaf-file-name="built_in.c" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/built_in.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="-314"> + <caret line="41" column="20" selection-start-line="41" selection-start-column="20" selection-end-line="41" selection-end-column="20" /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="main.c" pinned="false" current-in-tab="true"> + <entry file="file://$PROJECT_DIR$/src/main.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="266"> + <caret line="14" column="14" selection-start-line="14" selection-start-column="14" selection-end-line="14" selection-end-column="14" /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="utils.c" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/utils.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="465"> + <caret line="46" column="7" selection-start-line="46" selection-start-column="7" selection-end-line="46" selection-end-column="7" /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="commands.c" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/commands.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="-152"> + <caret line="37" column="1" lean-forward="true" selection-start-line="37" selection-start-column="1" selection-end-line="37" selection-end-column="1" /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="signal_handlers.c" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/signal_handlers.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="228"> + <caret line="12" column="21" selection-start-line="12" selection-start-column="21" selection-end-line="12" selection-end-column="21" /> + </state> + </provider> + </entry> + </file> + </leaf> </component> <component name="FindInProjectRecents"> <findStrings> <find>single_command</find> <find>execvp</find> <find>print</find> + <find>~</find> + <find>n_commands</find> + <find>free_commands</find> + <find>evaluate_command</find> </findStrings> </component> <component name="Git.Settings"> @@ -104,10 +87,10 @@ <option name="CHANGED_PATHS"> <list> <option value="$PROJECT_DIR$/src/built_in.c" /> - <option value="$PROJECT_DIR$/src/commands.c" /> <option value="$PROJECT_DIR$/src/main.c" /> <option value="$PROJECT_DIR$/src/signal_handlers.c" /> <option value="$PROJECT_DIR$/src/utils.c" /> + <option value="$PROJECT_DIR$/src/commands.c" /> </list> </option> </component> @@ -121,9 +104,9 @@ <packageJsonPaths /> </component> <component name="OCFindUsagesOptions" text="true" ivars="false" properties="true" derivedClasses="false" /> - <component name="ProjectFrameBounds"> - <option name="x" value="70" /> - <option name="width" value="1878" /> + <component name="ProjectFrameBounds" extendedState="1"> + <option name="x" value="1751" /> + <option name="width" value="1698" /> <option name="height" value="1448" /> </component> <component name="ProjectView"> @@ -131,7 +114,6 @@ <foldersAlwaysOnTop value="true" /> </navigator> <panes> - <pane id="Scope" /> <pane id="ProjectPane"> <subPane> <expand> @@ -158,11 +140,12 @@ <select /> </subPane> </pane> + <pane id="Scope" /> </panes> </component> <component name="PropertiesComponent"> <property name="WebServerToolWindowFactoryState" value="false" /> - <property name="last_opened_file_path" value="$PROJECT_DIR$/../workspace/shell" /> + <property name="last_opened_file_path" value="$PROJECT_DIR$/../workspace/dong/mysh-1" /> </component> <component name="RunDashboard"> <option name="ruleStates"> @@ -187,34 +170,39 @@ <option name="presentableId" value="Default" /> <updated>1525613937527</updated> <workItem from="1525613939581" duration="14984000" /> - <workItem from="1525845591506" duration="9784000" /> + <workItem from="1525845591506" duration="12797000" /> + <workItem from="1525873924134" duration="1369000" /> + <workItem from="1526030788833" duration="82000" /> + <workItem from="1526030882114" duration="6000" /> + <workItem from="1526031239879" duration="642000" /> + <workItem from="1526032501602" duration="4775000" /> </task> <servers /> </component> <component name="TimeTrackingManager"> - <option name="totallyTimeSpent" value="24768000" /> + <option name="totallyTimeSpent" value="34655000" /> </component> <component name="ToolWindowManager"> - <frame x="56" y="0" width="1502" height="1158" extended-state="0" /> + <frame x="1401" y="0" width="1358" height="1158" extended-state="0" /> <editor active="true" /> <layout> - <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.13104838" /> + <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.14508928" /> <window_info anchor="bottom" id="TODO" order="6" /> - <window_info anchor="bottom" id="Event Log" order="7" side_tool="true" /> + <window_info anchor="bottom" id="Event Log" order="10" side_tool="true" /> + <window_info anchor="bottom" id="Version Control" order="8" /> <window_info anchor="bottom" id="Run" order="2" /> - <window_info anchor="bottom" id="Version Control" order="7" /> <window_info id="Structure" order="1" side_tool="true" weight="0.25" /> - <window_info active="true" anchor="bottom" id="Terminal" order="7" visible="true" weight="0.30938697" /> - <window_info anchor="bottom" id="Debug" order="3" weight="0.4" /> + <window_info anchor="bottom" id="Terminal" order="7" visible="true" weight="0.20689656" /> <window_info id="Favorites" order="2" side_tool="true" /> + <window_info anchor="bottom" id="Debug" order="3" weight="0.4" /> <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" /> - <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" /> <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" /> <window_info anchor="right" id="Ant Build" order="1" weight="0.25" /> - <window_info anchor="bottom" id="Find" order="1" /> - <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" /> + <window_info anchor="bottom" id="Messages" order="9" /> <window_info anchor="bottom" id="Message" order="0" /> - <window_info anchor="bottom" id="Messages" order="7" /> + <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" /> + <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" /> + <window_info anchor="bottom" id="Find" order="1" /> </layout> </component> <component name="TypeScriptGeneratedFilesManager"> @@ -226,41 +214,147 @@ <component name="editorHistoryManager"> <entry file="file://$PROJECT_DIR$/src/built_in.c"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="1444"> - <caret line="76" column="25" lean-forward="true" selection-start-line="76" selection-start-column="25" selection-end-line="76" selection-end-column="25" /> + <state relative-caret-position="779"> + <caret line="41" column="20" selection-start-line="41" selection-start-column="20" selection-end-line="41" selection-end-column="20" /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/include/built_in.h"> - <provider selected="true" editor-type-id="text-editor" /> + <entry file="file://$PROJECT_DIR$/src/main.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="247"> + <caret line="13" column="17" lean-forward="true" selection-start-line="13" selection-start-column="17" selection-end-line="16" selection-end-column="13" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/utils.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="760"> + <caret line="40" column="15" selection-start-line="40" selection-start-column="15" selection-end-line="40" selection-end-column="15" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/signal_handlers.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="228"> + <caret line="12" column="21" selection-start-line="12" selection-start-column="21" selection-end-line="12" selection-end-column="21" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/commands.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="969"> + <caret line="51" column="15" lean-forward="true" selection-start-line="51" selection-start-column="15" selection-end-line="51" selection-end-column="15" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/built_in.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="779"> + <caret line="41" column="20" selection-start-line="41" selection-start-column="20" selection-end-line="41" selection-end-column="20" /> + </state> + </provider> </entry> <entry file="file://$PROJECT_DIR$/src/main.c"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="266"> - <caret line="14" selection-start-line="14" selection-end-line="14" /> + <state relative-caret-position="152"> + <caret line="8" selection-start-line="8" selection-end-line="8" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/src/utils.c"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="513"> - <caret line="27" column="1" lean-forward="true" selection-start-line="27" selection-start-column="1" selection-end-line="27" selection-end-column="1" /> + <state relative-caret-position="760"> + <caret line="40" column="15" selection-start-line="40" selection-start-column="15" selection-end-line="40" selection-end-column="15" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/signal_handlers.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="228"> + <caret line="12" column="21" selection-start-line="12" selection-start-column="21" selection-end-line="12" selection-end-column="21" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/src/commands.c"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="1311"> - <caret line="69" column="63" lean-forward="true" selection-start-line="69" selection-start-column="63" selection-end-line="69" selection-end-column="63" /> + <state relative-caret-position="988"> + <caret line="52" column="6" selection-start-line="52" selection-start-column="6" selection-end-line="52" selection-end-column="6" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/built_in.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="779"> + <caret line="41" column="20" selection-start-line="41" selection-start-column="20" selection-end-line="41" selection-end-column="20" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="152"> + <caret line="8" selection-start-line="8" selection-end-line="8" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/utils.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="760"> + <caret line="40" column="15" selection-start-line="40" selection-start-column="15" selection-end-line="40" selection-end-column="15" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/signal_handlers.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="228"> + <caret line="12" column="21" selection-start-line="12" selection-start-column="21" selection-end-line="12" selection-end-column="21" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/commands.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="988"> + <caret line="52" column="6" selection-start-line="52" selection-start-column="6" selection-end-line="52" selection-end-column="6" /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/include/built_in.h"> - <provider selected="true" editor-type-id="text-editor" /> + <entry file="file://$PROJECT_DIR$/src/built_in.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="779"> + <caret line="41" column="20" selection-start-line="41" selection-start-column="20" selection-end-line="41" selection-end-column="20" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="152"> + <caret line="8" selection-start-line="8" selection-end-line="8" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/utils.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="760"> + <caret line="40" column="15" selection-start-line="40" selection-start-column="15" selection-end-line="40" selection-end-column="15" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/signal_handlers.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="228"> + <caret line="12" column="21" selection-start-line="12" selection-start-column="21" selection-end-line="12" selection-end-column="21" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/commands.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="988"> + <caret line="52" column="6" selection-start-line="52" selection-start-column="6" selection-end-line="52" selection-end-column="6" /> + </state> + </provider> </entry> <entry file="file://$PROJECT_DIR$/src/built_in.c"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="-459"> + <state relative-caret-position="779"> <caret line="41" column="20" selection-start-line="41" selection-start-column="20" selection-end-line="41" selection-end-column="20" /> </state> </provider> @@ -272,6 +366,13 @@ </state> </provider> </entry> + <entry file="file://$PROJECT_DIR$/src/utils.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="760"> + <caret line="40" column="15" lean-forward="true" selection-start-line="40" selection-start-column="15" selection-end-line="40" selection-end-column="15" /> + </state> + </provider> + </entry> <entry file="file://$PROJECT_DIR$/src/signal_handlers.c"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="228"> @@ -281,15 +382,71 @@ </entry> <entry file="file://$PROJECT_DIR$/src/commands.c"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="1294"> - <caret line="91" selection-start-line="91" selection-end-line="91" /> + <state relative-caret-position="988"> + <caret line="52" column="6" selection-start-line="52" selection-start-column="6" selection-end-line="52" selection-end-column="6" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/built_in.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="1444"> + <caret line="76" column="25" lean-forward="true" selection-start-line="76" selection-start-column="25" selection-end-line="76" selection-end-column="25" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="266"> + <caret line="14" selection-start-line="14" selection-end-line="14" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/utils.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="513"> + <caret line="27" column="1" lean-forward="true" selection-start-line="27" selection-start-column="1" selection-end-line="27" selection-end-column="1" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/commands.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="1311"> + <caret line="69" column="63" lean-forward="true" selection-start-line="69" selection-start-column="63" selection-end-line="69" selection-end-column="63" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/built_in.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="-314"> + <caret line="41" column="20" selection-start-line="41" selection-start-column="20" selection-end-line="41" selection-end-column="20" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/commands.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="-152"> + <caret line="37" column="1" lean-forward="true" selection-start-line="37" selection-start-column="1" selection-end-line="37" selection-end-column="1" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/src/utils.c"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="500"> - <caret line="57" column="5" selection-start-line="57" selection-start-column="5" selection-end-line="57" selection-end-column="5" /> + <state relative-caret-position="465"> + <caret line="46" column="7" selection-start-line="46" selection-start-column="7" selection-end-line="46" selection-end-column="7" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/signal_handlers.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="228"> + <caret line="12" column="21" selection-start-line="12" selection-start-column="21" selection-end-line="12" selection-end-column="21" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main.c"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="266"> + <caret line="14" column="14" selection-start-line="14" selection-start-column="14" selection-end-line="14" selection-end-column="14" /> </state> </provider> </entry> diff --git a/201221030.docx b/201221030.docx new file mode 100644 index 0000000000000000000000000000000000000000..282cbaf74b7849b2a05145d39086fda6d96898ab GIT binary patch literal 14517 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 N84fZrFx)c*@c?d~D!Bjv literal 0 HcmV?d00001 diff --git a/src/commands.c b/src/commands.c index 5d4ad56..cfa2891 100644 --- a/src/commands.c +++ b/src/commands.c @@ -28,7 +28,15 @@ static int is_built_in_command(const char* command_name) /* * Description: Currently this function only handles single built_in commands. You should modify this structure to launch process and offer pipeline functionality. */ -int evaluate_command(int n_commands, struct single_command (*commands)[512]) +int evaluate_command(int n_commands, struct single_command (*commands)[512]) { + if (n_commands == 1) { + struct single_command *com = (*commands); + one_command(n_commands, com); + } else if (n_commands > 1){ + printf("pipe"); + } +} +int one_command(int n_commands, struct single_command (*commands)[512]) { if (n_commands > 0) { struct single_command* com = (*commands); @@ -53,6 +61,7 @@ int evaluate_command(int n_commands, struct single_command (*commands)[512]) } else if (validate_path(com->argc, com->argv)) { int pid; + pid = fork(); if (pid == -1) { @@ -76,6 +85,8 @@ int evaluate_command(int n_commands, struct single_command (*commands)[512]) return 0; } + + void free_commands(int n_commands, struct single_command (*commands)[512]) { for (int i = 0; i < n_commands; ++i) { -- GitLab