From a1f99c09c238827a817cc246c9f5a4e31d3adc6f Mon Sep 17 00:00:00 2001
From: Andrew To <andrewto.307@gmail.com>
Date: Sun, 16 Feb 2025 00:11:54 -0500
Subject: [PATCH] Fix small bugs which didn't appear in tux but in local
machine
---
hw3/dsh | Bin 21688 -> 34848 bytes
hw3/dsh.dSYM/Contents/Resources/DWARF/dsh | Bin 10156 -> 11897 bytes
hw3/dshlib.c | 74 ++++++++++++----------
3 files changed, 40 insertions(+), 34 deletions(-)
diff --git a/hw3/dsh b/hw3/dsh
index 34e87e91f6ac8bcbcb4531b93588307288026695..402ea6dd51b539bbfc7ea33e3abda1bb507bce45 100755
GIT binary patch
literal 34848
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
Jmp>jz0svpi$Rq#&
literal 21688
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
I0~(hB0OXA(i2wiq
diff --git a/hw3/dsh.dSYM/Contents/Resources/DWARF/dsh b/hw3/dsh.dSYM/Contents/Resources/DWARF/dsh
index c278650260f6a7682cead370b059d53bc92dd3f2..8cf5611a3a6911cb3ca3ff3742e5056880100151 100644
GIT binary patch
literal 11897
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
KX$JAJMLhssSU{-&
delta 1790
zcmewvv&Mgdh>8Fk0~|;*Ffd3kFfcsntJ0bI)AHBqis;PT;~FIsEmSy}85kH01Q-}}
zCZ=xYw6SAgU}RumxHDOhNn)}kqdupEJw(J{av`HTrw5dmI{6@@JLd){FJQ7D({x6S
z$t#(p8CfPDWwK_Bnas#6%_uQhmRVbH4LiggAPQs|=j2FceI{YX$z9BDLc$Xv#wS43
zFbFG7oG3SmMM0<-Dk07UktqgAOkTjEAk;M(qUA6|f}u-!;zYU0A6OIweWyTV0zqD2
zU|{f_{E%63vJ<PE(7dS-nFy$!d8!~i6Id05zCmSFpfcaUG7nf4grufH^yEQJlTrie
zF<?^=>X;6Zf$8Z`-`pthj&qWLgwP9U0ID%CFz_=nFxc2lwh}Pf+$2!PKe>TTjeR=<
z0|N_#{^b3N;*;eR<mzDo&aBVK%E`rH$I9x<%IVF@z{c$5#mdQS*2KyHX9=@`B|N=Y
z)tJqjSb3XRb-h3&1G8rnD=!<fMUyuxr!T7%8%UFj7poAnO%p3;6RVaND=Qmwr5DIl
zZ!r4^LsK&o3j-q~dkEM)dLZ|hGo%z}<YXr4C4+(j%FX~M2L?_in8%ov8QGX)IBZy1
z*|?Zho0^$;CQnomh9{gg6DNvG>M$@cFfj-)GB9v}jADT4HJCV2oRMepR~1#bzt@12
z!U6%rVa(mZz`($$U&g?|z|1r;VK0bhSPS9B90T!;AaeZ@CqX>pPLLfe=NT9nSXo$`
zK>oSRz`(%9$To$6f#C+od{Or2AYm>hL5?pB3=Cxq4D}35!VDZg7#J9~ffR_aFmN7X
zU|`_-%>Z&U+gXsoj0_A+{OsI}3=9s8Oxzs8j0_C#L5g`9IK)A6Ak62$zzMPvtkHpi
zTL$E3cCZi+$ShFkF*Aaq9OOt2Mo?1XVK88<XJD{pU|=X@U|`tIz`#($z<>xO1_lOR
zc!+@<l55Gxz`&@S!N9=4$JEc^0p{gHcnsh$P_70U4-115kY^!bz}f%`if)X6sE33E
z$VgZ~tOfZE6c9T>0r3eE5Jy1vgFK2B5YIr0p#kv|#0CWf$X+gxMnph>gm^$gpnzZ$
zWK`u7W@YAUs+r8BX&kS@z|3dI&CSigz{=0yDa^pYCdS|?%*<!SZOzTVz%I<l%*V|N
z;c)OWF!Ol|gE$u43=Eu%j3D(~iVU8@=G+Vn+#sX4x$U?a7<j;9tPBjilP_qB@$j)S
zFiAj+^qkD0wNg{xST{H$H76&)P`|h&v8W`qh#@yIGmjxTHzhu)G%byxD48KSC$qR@
z@?|Ys_T>EB+{C<;$^6>tlk2o4LOg;ULBY=eDwIH&2Ndq0Fal#pi3^J3tom6si@!Xu
zvS46f@L*tI0H<jN1_mRjdT@*~FfceVGB8XI)YF(;r^CStDj?Y>ck9U4gH(Zx2Njnr
zpo9&IMFs|j|NsC0|IW7Fs$NO%OLTG1olmC>N(>r0xLsx@Urtt-S_6vhMGOoKplAa{
z5eFj!gBBwLgAXXlfTEFsfdQ1x#TXc}&5}Y-GBPkgnIIcMnFM6(6p;PG3=GA+-}q-U
zGB7}yASIym4N?M1+bRqU=bJs2F)=YPK$##F;0(vWzyQjXVhjw=4xN8K0b&h^2~q*d
zsUR~zxmbmPVTpznPX!~`3=k8f!W@+8KuSRQP?&*XNA#UFS0D}nF+oZ|$s42sl=)N`
Q7{aetPi|qH?4f4}0MI`i)c^nh
diff --git a/hw3/dshlib.c b/hw3/dshlib.c
index d207cc8..b3c5323 100644
--- a/hw3/dshlib.c
+++ b/hw3/dshlib.c
@@ -32,50 +32,56 @@
* Standard Library Functions You Might Want To Consider Using
* memset(), strcmp(), strcpy(), strtok(), strlen(), strchr()
*/
-int build_cmd_list(char *cmd_line, command_list_t *clist)
-{
- char *pointer = cmd_line;
- char* pipe = strchr(pointer, PIPE_CHAR);
-
- clist->num = 0;
-
- command_t new_command;
- void make_command(command_t new_command, char *pointer, command_list_t *clist, size_t sub_length){
- while (*pointer == ' '){
- pointer++;
- }
- char *space = strchr(pointer, SPACE_CHAR);
+void make_command(command_t new_command, char *pointer, command_list_t *clist, size_t sub_length){
+ while (*pointer == ' '){
+ pointer++;
+ }
+ char *space = strchr(pointer, SPACE_CHAR);
- if (space==NULL){
- memset(new_command.exe, 0, sizeof(new_command.exe));
- size_t exe_length = strlen(pointer);
- strncpy(new_command.exe, pointer, exe_length);
+ if (space==NULL){
+ memset(new_command.exe, 0, sizeof(new_command.exe));
+ size_t exe_length = strlen(pointer);
+ strncpy(new_command.exe, pointer, exe_length);
- memset(new_command.args, 0, sizeof(new_command.args));
- new_command.args[0] = '\0';
+ memset(new_command.args, 0, sizeof(new_command.args));
+ new_command.args[0] = '\0';
+ if (clist->num < CMD_MAX){
clist->commands[clist->num] = new_command;
- clist->num = clist->num+1;
- } else{
- while (*space==' '){
- space++;
- }
- size_t exe_length = space - pointer;
- memset(new_command.exe, 0, sizeof(new_command.exe));
- strncpy(new_command.exe, pointer, exe_length);
- new_command.exe[exe_length] = '\0';
-
- size_t arg_length = pointer + sub_length - space;
- memset(new_command.args, 0, sizeof(new_command.args));
- strncpy(new_command.args, space, arg_length);
- new_command.args[arg_length] = '\0';
+
+ }
+ clist->num = clist->num+1;
+ } else{
+ while (*space==' '){
+ space++;
+ }
+ size_t exe_length = space - pointer;
+ memset(new_command.exe, 0, sizeof(new_command.exe));
+ strncpy(new_command.exe, pointer, exe_length);
+ new_command.exe[exe_length] = '\0';
+
+ size_t arg_length = pointer + sub_length - space;
+ memset(new_command.args, 0, sizeof(new_command.args));
+ strncpy(new_command.args, space, arg_length);
+ new_command.args[arg_length] = '\0';
+ if (clist->num < CMD_MAX){
clist->commands[clist->num] = new_command;
- clist-> num = clist->num + 1;
+
}
+ clist->num = clist->num+1;
}
+}
+
+int build_cmd_list(char *cmd_line, command_list_t *clist)
+{
+ char *pointer = cmd_line;
+ char* pipe = strchr(pointer, PIPE_CHAR);
+
+ clist->num = 0;
while(pointer != NULL){
+ command_t new_command;
pipe = strchr(pointer, PIPE_CHAR);
--
GitLab