From f7b25ecb923a10acbf87472e9c262eaafbefa3a2 Mon Sep 17 00:00:00 2001 From: Rory Healy Date: Wed, 8 Sep 2021 22:22:48 +1000 Subject: [PATCH] Fixed segfault when no arguments given --- input.c | 3 +-- input.o | Bin 9400 -> 9400 bytes main.c | 12 ++++-------- main.o | Bin 9136 -> 9240 bytes voronoi1 | Bin 26008 -> 0 bytes voronoi2 | Bin 28264 -> 28272 bytes 6 files changed, 5 insertions(+), 10 deletions(-) delete mode 100644 voronoi1 diff --git a/input.c b/input.c index d4a8956..f2c7d63 100644 --- a/input.c +++ b/input.c @@ -17,7 +17,6 @@ #define STAGE_2_ARG_COUNT 5 #define STAGE_3_ARG_COUNT 5 #define STAGE_4_ARG_COUNT 5 -#define OPEN_FILE_ERROR "Error: Unable to open file %s\n" enum stages getStage(char *stage) { if (strcmp(stage, "1") == 0){ @@ -95,7 +94,7 @@ int getExpectedArgs(enum stages stage) { FILE *safeFileOpen(FILE **f, char *fileName, char *mode) { *f = fopen(fileName, mode); if (*f == NULL) { - fputs(OPEN_FILE_ERROR, stderr); + fprintf(stderr, "Error: Unable to open file %s\n", fileName); exit(EXIT_FAILURE); } return *f; diff --git a/input.o b/input.o index 26429a3a8aaf62dacada923bdf4e9beee4eceaf4..c647f13e85f822d7aae811264d430ba3b355f004 100644 GIT binary patch delta 328 zcmdntxx;fq8k4xDM>i`25O{Qle(>lu1v5L3@0eW2q_lZH(?w>+$jyapTbV-R*c+HY zk`Pb;r5WeQGczyi`25O{PR+$A@8E~DJ!2~7N(7cgC5W{lcg$hMU!G@iYI38Vr7 z3ZXRP9C>C22B9a!nxI2nIF|kU4^2MZS}(ITZzc z6&Cj`RZvlYib4!f(S@4FAPQC_Hu)8&ETh0j&yn$LiYMT@Afgjc5=3nr$B9{YYYmr~H2>{)SIxMk zZ#VtVuqKGoZyRfM#=vBqi2Trlv5}xOhzzMc&uOBR@>{S|l)Ylw}VVGH&PVY}9C ztX0clelBDeWIxt^gHXafC=_>7?1nY`M5?JL>Bw;({t-I@LcJ)R+>}kgQ7c=f+*6;a zL64x+(1%)Ky<%B?3dhhQRKhA60=^lC1n6&$@vA$HRIfmg<^N}#^j!b| delta 1227 zcmZ`&O=uHA6yBFjnoUX5O=H?}ps zM(*^$@#5jW(n3VUEzyfRViYFIedcx3*svuj{I>~FpToT)W6PWQRu!VPRf27v}NXIN)pUaOLFPQPCUd<)14P;Yu!ff{X zbdF|2+3ZXfC!MN0$j*d}j!0;v@$0W{5q$4dU>sMRO5rjSkTH#&2G=}eBpIEYz%HVV zIb^T&kEU;;IoE$Qc&^`X_}}X2D>~nzC329%6Irm>q7=fQ$9Xzle$e1qyL-zg>gdyT z^fzntyxrS6ueY_gzWrDP{N>3#T~B%?{L8v zf-shRDui&Ca1n!@Dr{he@FkWyRogcE56QxMVt)WeG3clDof6Lb!=`N+ANwPa#$A8+ EKZ%(Q9smFU diff --git a/voronoi1 b/voronoi1 deleted file mode 100644 index e39fe762724cc3b654726f69c66a85a00c46b0cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26008 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 diff --git a/voronoi2 b/voronoi2 index 117e65e545f4e49dfbcc5406f0b1a9090d962d8a..878fc9a8524c55583827110995b6dcb217123d6e 100755 GIT binary patch delta 2738 zcmY*b4Qx}_6@KR#$2KEB_OqMV`7?=sl9K;HNr3z~#LY{WrP)YU(u5?a%^!k{5L`Bm z;8iJYjprrq0kNqa%{Gm-(u$x@TPb3Yh^{DFHCA=&=tjk~(cuzGU4D}^t#|Hw&mmmt z-gEBx`R+OAp8M>`C5T>v@jTcW&cAH%C2{ibp%ID=B|2qSA~irU7`q+Hc9CL$ziiHR zl{~fWndYmzPmMTN910J)f7d=L?bTdM)ZbmfabhUZkAud~Qb$ML1D{b0t(i#VxU(@D zkw0rV4%~L6CP$u@)MDT-V&Ht_$z_c7M#Z2v!uGje#bU%q8J~*PLK(b{ zy95V3hlgq1il+se)xRLy$o9huFWdLw=R#TH+&31%n>DykNQ1v&z1aaLaJ$)Nz3}CI z-*XBt`@V&*n#&R!?)y&gvabX0kuP9|#pcgm;wvoi)e%3FCkD009_F}U>qRQSJIh%R z=TEX?M%<)73ycd9C(FcO>+I9wDzh_>#JjbTEAz3~^toHfS@W%8;1hB5dWskrnWaL^ z64SV!anS?!qC7wi;h61AbIB{u6=5fq%t}E0-EClYwoj?Tbr*tEeF(MzU2Zes2y_Qrk>h zNJ<^`=GSp~5Py_fP+2s`x}kMe4DfP6f}BY8&8INx=wj4T7+H(Q@AC9)93clkNv(k} zy3z{a*VvL)1a&x?R>9BT!!v2ksgZjGy?-)!%tOzBz%R0nzI7L~G9QBVxWQ^~VOfcR z51HK0jOi7e_g<$|xKAf3dGe7v^S^gx-R$Vdb#3ws2S^k2UKc~={mfDfX}bs}xQrKn zCWb7V@VM2?-@J?OS_|Quc-!iPU!cua3je}JTLBc|4{e!X$HOG)#A%xY+VF-gJGbIa zEY>R~@0+BI|0)J*^TrAHlAeY4?pbzBGX6wlCFax#_5AKdKP^XZL(Gt z-=-$n3r@F8xqYQd+Yeog1ahvLtg{Lwalg#uDTC8v` znltTCi)%7BSbuYKDdyh4Q%z*N5FW_1cXs43x2aRv6k)to`V%PHO}FBgR6*SM^ts;T z>^hEP&&%^fW2kaHd3e6p5cts3+7P(oY4HRWTE$Rd0f{#?=6^-cPanA~C1w2wUb34K ze8XG&dWukIUrE?(NN)Sb8q1qhG#%YdH_hj0{*&fBS{>{ClQXf{B-#D@I(-0%Mv1;g z^rO#WF^=x9>5Ev*PV{4JmLY?%ULZ z1w%z0EG7|Gr%Pdkeb!ggoV|u7r>i1LA=3RWjtt^< z(|n)YeC!M1O-gy5-VURy&sY9*svNWk*Ka_E!|oEd;h05%ZNu>rH?K>>w@ZqsnO~>SYI@4*w$Nj?N6g$)zCrHePMd9ac>oqWQ zKHO-&s)FuOu(=+po8V&TO~Q|5m(7B4Uf#QveK%+B#3QS%{x;R1S@;9fx2gKgf^6Ql zVbMIvtbiX^2sgvdkXV?#4?^@h<44L6z3bu-mNP2E8!803=aB#KgZ{%0`VZsgH4mE> z3r+{J@c~GA8=v8EdHEyNojP{H;Z#KgAv_opF4)Ux=}AI~_q%^Wkpc zF;>M+^p{(7jq>H>hVsyLiQWP3{@ zQ^x}xQ=*|Tl)JNFPKCp$OH;&Fx>q*#NKaH4mO&S8tt^82uqPvPp?)zpClwS$Ckv9`*%*oTTW_q62R zxQ~aU(oyf;1h{~?jbA5Kfxbwq|DV>-r*-MgQvSF92+QLMXv`RGIt>577at#`K%~Ux zs{nTC&UbzQ1TwgZPml)N4geJ3+>?8t8;9EKX??rBn9l!{_%1B%7=wPC>Zms?-VGYJ zxS;Q{qnq>F?KEk%OhA8{`(1=Q&ZRdH|j)om;;iu@?Q4Jw{ Tmey{ZqE(MDSPe<&8Fc?2N(p|e delta 2678 zcmZWr4|G%I6@T}oO_ON4K;G!*)e!=I+oK#QTTN@fvG3%OgRdDlos`E_oOea2d;5KPxjCE&v*g4ZvIX$D>QA`(gtxl*=c)QKsdw=)$-S2+)d&$Ho#6}_Ng`NEiF6rAcIAye<5lZy7G<9Z^YM}&-qD!65NDT9r z%nQd{YaSg;Kf3OCv+JvE54zs9Wo?(bHUCc6UA~j!#NPD1xX1Vm845||Lf=VQgVQCJMW!7zEB#McE^#STUg{*XD}(J+;Ok-!+6KQpZa z#+d%3sw*T1NFP58*diZ$<-*0Q65jTN_tm7AHqFK7 zC%pG0ygxKFwY6icyHc{ z?B9J&?G~7ZNMQP|z^C0GQC7u&`g{Pau-l7#`zHjY<8&rH<>_1X|{=WbR z`K+T(6V7+ekybfJHI}!i1o|to`~W>i=ozJF8p~XF^^C-2d63qb`a+gtBz0fP@+%}K zNpjS>^^>yfB>4}Lt4RKZ_S8bMoD%IOd4l8s$s7NbDQEH7do z6>7f*lE+E@h@_4>`xMV%+~uZf8QoSsD~^S3k55O5(Amt4T+%w}87F&?-T6R9))9Vn zx>nPqxid}2G5=Ha6kyoxfM@W8+Yaq`&h7BLMJcmuJrlw2WC6->(%a0^{TdCPc~FK$ z9tT*k&NCn0#C`OBAD^c81fC|l6F>3PfGEu^uxhEaHY_hHhh}MC(N{bKacgOT{+LCj z-Hg%F0)Enpr%Q{$fU(jNeKb#X-Hj)CD=sga3qfg9+1q^2n$$M(_)Mx>*&3Lu7kap<@d72s_^fI9r%iWrP07T zpT-f&nvIY&<=1Jzk5IiB>TpT*66(NR)q99xq}p$s=|dIG1*L-32Y84|zY26~(}sye z!+nmu>yP2!+HJaX9O#NuJ(s1Dx<7y+xe1L0udF);pW)By4^c9b(C|5cLAu`fFc4Aa zeY_U4Qc|SuO^*SX5w>)Jh(Fm<0}VK|rG)aBB)t}WEq%1N;g%Zx%o$;JYXNw$s`U(v zAq4x%l7-oj*jzeQ)Wl`}-*qu1>?RxvS|N&`1Z&_J&JFd^-cN=~z%TtXv{w(Q*tn}i z-^_j#X*6Sa7u{$48`*CC_0xAO*N?bV#E4Yeah|8|h;jFFcmiv8uY|`jOmE7Y-W=-p Ptki3_tKe