From aef8269a68cf28666286eed0efb73bf5524434bb Mon Sep 17 00:00:00 2001 From: NunoSempere Date: Fri, 8 Sep 2023 23:22:57 +0200 Subject: [PATCH] add a few more tests, mini-refactor. --- makefile | 3 +++ wc | Bin 16912 -> 17048 bytes wc.c | 18 +++++++++++++----- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/makefile b/makefile index 4648c2c..616fa4c 100644 --- a/makefile +++ b/makefile @@ -31,3 +31,6 @@ format: $(SRC) test: $(OUTPUT) /bin/echo -e "123\n45 67" | ./$(OUTPUT) + /bin/echo -n "" | ./wc + ./$(OUTPUT) $(SRC) + ./$(OUTPUT) nonexistent_file || true diff --git a/wc b/wc index 2b3fcac944b1d1c75c456d0eac2c8e5e8b42a8bd..39b027fdfc703e1ab0d53f1f9f74614f5903f021 100755 GIT binary patch delta 2546 zcmZ`*3rt)^6rI^+7nYCgW1$PQg|}7O(uRF3e=S?s0_Bm?MzqveHS`0Njg;lvkFl~9 zYuF%h;o1Z>wUB6}HPt1gu^Nr5jbamPKQV@yXcj*Sv?LZ`h*ztsZEZMS=`^ z!ZM8Y?#8+%4;T%8la8<-Av$=|u-es#5{q9)vfG3@atLKswBSW3l<;wi(5;3`(}&=1s8JgJR7AgdO~gKdkXb2hKWs4X?rboi-RxAKBuV}|u_=Eyu%wusI=;Z!Y-Xog zG>#pe*grP4ln`c*{IY#1|8g1sbQwRti03i~=N2g#e`gs#wTz#HadS%bR@@h{H|7c^ zi`eT-Ly!_$(ekbz>FX$ny@q}U56`tHh&_fKOg<58H%Xz`R4=ZITvQS5-Lie|KG?>s zqG`~;rEEw;73tVmEp|C|OcZ^;wMUCRP9u`ZGyh1^WGx2eE5m#S1h^8b8#Q9@_CI^d zraxx+EBe0mjZFeX#;xwG#4@K4x_QePL=6QW`E_au1=HgWr+gF}L9)|6o=KCH4MecCx2-#BtPn znL;hA5MRMBeFkpwDYk<+xdGNx_JH|iT}g~l_iA)Ft_F_)`3Aq+kZvmvOT;OI&0!hk zEfY~D?FtCNP=>$_TUd8Ok`y3bn8-+_-9YVvEs>o-EbQR1^0j*QwSzncRd#{%sz+J9 zL`e|(?5T0L)lTaDPcn`0g?)!j^M$+aVJ_9c5e$&bL*Nh&P(Qe`ED+R%K|ol~dDX!9 zRU90>CZtlDh)YV)N05+=cLklu5__7Y81Z66cnjkivIXq7 z7j3j)Yc@wwpoIDE%Pyy{!HsMoNxO?Rn@?mLHli)Znxx&}S}V&zLM()bsvPS=@U_-d zIGU5H8??Y1IZwl`+&FF*MmP>9m9Ad=wUCs%PKWE=lKUO};^3l40&X0$$h1Imp1o8H zk({sSHVvE2B$=3twJ{WQsNH&1$8s8CQy%JJ!eKFx3ROxb&!EKVlK$hv4MTZWLl?Hn zFW>03JQq!Ix9x3jKU!Q|URklFq$bOrWzQwet)BgLZEZF6O^{hIWKo{MB_?pSV9i?j zyVISprH{hQCV|s(UBfYO6bf8OJpmf7f|f!dQcGfDgtLWt zk(p|$V~XD_%;U7o*DweUXD6ogh*K~H)D#ZDlrx_Ts!T&KI5rFS|3|6mRR=Abg-Gq3 z;?AAjycOOKGxrzqCZ1O|gNO8@d{eW^n!$}sOB^qpL8c{HH%uYB|8FV1IDa9Dyy~8N cp`}=&u`aF( zQo=@3XJg0trGj?h-b^>c`FBV?>7!hK!_Qs`|n+raBL z=km@e%Sn5s7VF*jwXy%TeZgUqM0JunhurSYQjguJs+4N*U) z=&QemkGN7g02jEjWdrCUy~~@$+ z&?BZc{xi7t#^)Fd%D+#3J246`I~E-sz`n6jdH2mYi+KEoJ$YnSO!iKGg+em14Z8juON0HemNycR}d?1O42RF7-BJQ_gBO=3I{xuv=fFrJd^%Yl6Jx; zp2z70xa8qmN04vE0eUM%<1KuyYZH^TkJwKb8Vd^yFWAf&iQNA&K8ta|rxEY zP2?gzEfB3}G9^$2Q!AaAf}D-jvpfMwufW}L$ioS7t3Wa^<}IgL_}wcQ@+Mg5E2BB6 z^$A=?OKj}}Cw&n2l{?aMdBLXDCX#31L*FxoECVw*vLD>SOLQ2H3H7(~w_aHE-m8k?BsSO*#tXdMu!@y-7xuplUngYFvMy$El}fm`xwH>>0a_E*BC z8s6lSi=t9l#T*T_(z1hxy7uht>1p40knHc-6^q3qk){pn8yedKzJRY9`c|C=Z*4`c zxAr}nD_OmhQVYb_2%LVCI_BU~zzG-Elyd!8dF7_#qcFWjux2$cW=0@fW6f(6^W{*u zhSSqX$38e8K5E&i%!Bb>5A(3Sj$;$re=Pysb)k~9#&py_AVvOD9XEeIa!_=<#}iz4v!JTOVRuJnG6VFojIN%?$V>Ay&WnEOaBg_pdw~3C-VZM!S(t bn2ty^4b#yOo3Byl?10*a5Dh|i!;=31nhWSX diff --git a/wc.c b/wc.c index b2047e6..3c0c547 100644 --- a/wc.c +++ b/wc.c @@ -2,11 +2,11 @@ #include // read, isatty // STDIN_FILENO -int process_fp(int filenum) +int process_fn(int fn) { - char buffer[1]; - while (read(filenum, buffer, sizeof(buffer)) > 0) { - printf("%c", buffer[0]); + char c[1]; + while (read(fn, c, sizeof(c)) > 0) { + printf("%c", c[0]); } return 0; } @@ -14,9 +14,17 @@ int process_fp(int filenum) int main(int argc, char** argv) { if (!isatty(STDIN_FILENO)) { - return process_fp(STDIN_FILENO); + return process_fn(STDIN_FILENO); } else if(argc > 1){ + FILE* fp = fopen(argv[1], "r"); + if(!fp){ + perror("Could not open file"); + return 1; + } + return process_fn(fileno(fp)); + } else{ printf("To do"); + } return 0; }