From 7d9457eb245733c6d720f51017b9927b5213157a Mon Sep 17 00:00:00 2001 From: Nikolaj Date: Thu, 9 Sep 2021 08:29:52 +0200 Subject: [PATCH] :bug: Lille bugfix --- A0/file | Bin 50600 -> 48384 bytes A0/file.c | 15 +++++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/A0/file b/A0/file index 553c19c1d31c61b33c3a0e3900a74e71bc0440da..d2e53098c36de048315cb9cf712eb2b0a1551b20 100755 GIT binary patch literal 48384 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 literal 50600 zcmeI5U2Igx6~|{WF6JYw(~l@kpxh*wKw7+ugTYQ9*a0`!Dgmbkg+wC5diSoquzT0s zyGt;NC8x_uESr_wO8rn;DX33T)Q766sz?oy9V3X;Mj`D(d5BuSq}{EkL?u+wl;Zx+ z%)RT~>qM&h5>+}Q&7Jd~nRD*U@9f;Su|N3aZ+BJ*5o!@aEJJNaJ<=*fQ5dj<_$sQ2 zD&pSUBe7|zh^1aG3icZMzU!+o^w7kp3jSZ zT@=GFI9uW_U!avT5zECEJA&&or}X;TyeXs`<1Kn>i}p$HmU92#fo~1$8}!fCOkkhT zR9^Sa1#ze9mj{KIijtTSg5KSRw!SCmA?Rte^JtHuB|i6}nzKSYjJEv}eg_D+8ukz> zm9Kb}UU?sCBL~Q)^46RX_cZlru@;Six&}3pcb!N&H4;foq!Z9o?nk9{{C)J1u^T6M zz4BV}J0JhcY59E@`V3So2?eWaS*>iva^?ADkD!-+cYfK7{Zkxcx8I{%dT$RZjnST4 z6Kk-Y(BfLKp5X~MXJtB{?8LfKBbbD;36NfC(@GCcp%k025#WOn?b60Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XB zzyz286JP>NfC(@GCh)%zIBb?aHebFzgnL3}x%H2@R%VukSsJ)ymM&hsy|7@GRZ~5O zTR>NezeNwdr*M(172(R)A|a!bQ4Xr5!^xy2_?rTUH?ov>uvVdlT#Vhl(EZ zJ^qA#Q6ul#vlzWxq>j*e)tKeGHepp}d8JuCe9P?p@LciN7!4P{jOpi=VMv|5faj@=x2W=YQyq%0D&Lb8xv*+z%5$u~o9_`6r?CPZsij z3{6?hR=c8JFaIyW)cH4I=~!gd^G`zMUm3G)I&C_j9s?#aRQ~<6sijsfK860qv|Yv( zwk2u%CMIDoeblJEkd>^bjbb2e)QPmwi~S^!V^i8_j@lp@UfR?o-$SCmDQ(n&v{8e! zW!0%$OxqrG`)MQFPa9uau59$ z%1_@!N44~USvovl{f)};WYw&6M~O@M@Vr@?{kf>VN&|&U#?iUtwE8_1u1Bv7+@@C` zoLS1>C`{g37CuXN8qLb?wQz>lIJ__mPf^>ULJ!<9%ct8Az6~>~Pf%ZJplTK-t2j67 z$hoYhv|~}%s%tP_j+$kdJMoh?%THrvlYePU-wFz$PF;ucZatvZjlEHvA$rwon1aRp zfmU%rO`5D$AO82k!s|FY>a2RMUs~dt)viAw*JHlx^-q?%UZZ6Y(fV8WY1bIJ8p^fx z%_Wn%^rT%h2~|I^-)eO|ln1yxa2x2ON9U#&I*#=VvCuK1o(c6#s^^$`9#_w_dfMta zj_3Z$`jcq-hZj0}L%6a!rrz{t038d{J3k_eF09smM^-mk^d%m9lB{>gdWNiDlJx>v zZ;+KH>jGJ4$oc`S4)-x59<%Li&PZ4}%gLl{%h=rEZdoOsb+Y!TVdpa=mSbd-M$8$_ zXDmDCKCntSf*h^Pcy3~qGW&=34h|Z0t6l5C;e%Uydb)cXy6DRADt(ugel}DZTVzt* zbKj1ZD&0}1LN?9-?#_mA7Zo&gsT+O=w@iQuFaajO1egF5U;<2l2`~XBzyz286JP>N zfC(@GCcp%k025#WOn?b60Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>N zfC(@GCcp%k025#WOn?b60Vco%n84>tVBY(G^ndl*n_hdzYuondzdP_nuU+T0o4hva zwV&@U`0Y%92`~XBzyz286JP>NfC(@GCcp%k025#WOn?b60Vco%m;e)C0!)AjFaajO z1egF5U;<2l2`~XBzyz286JP>NfC(@GCcp%k025#WOn?b60Vco%m;e)C0!)AjFaajO z1pdDX-2ISvj&^W&pOn(g#o{MqeC&iA&BvUCc*YUax<6q#&Ujs9^EncUiF5)!`4Ksi zvN1zU3*qWWn4Tr=wgmzwW2rRtx1&E9PiI|=)V-v#|B!MW|EE-OOS{{ zEDrTRIo6AKIgRx}xjDywwU?KW6s=;p%#2Cvv=z_iEIEc)SnQ)ISBjk~nAASQnOMpe zN0yQ2vXqFMqjgE2RrN{It4V%iaSoWkSk1RfX8(7b79YWYmdka!>V+BPA~DgE~n zK7vl5`ek#dSx2CgEg|vG_j_VA2U2w6(cY_V8}`NqP2(GBqFSAvbAUP*1!_)rzx;*W#AAhET;?&<@2K4g*oeAjE0bK~_ zazKACpnn|DKMm+N0{RyL{dPd#2Yo;422=y}0n`UkA3~+yNeAjW)b*%eL*0b>-}o3p ze#%*qI4k-bkmVl@sm_Z&kKPf&M?{~crmu-Q^i4hb`=Yw^r$w9U!{UDzye~riTi|^K z{PXXh{KYfBcSa670X#7a@e&THxje$SlT+3vR%uL?6cexx$Jo4IV7uc*vBLBiTL*9 z&eL{xGO@F_=T!Gt;>1X1$4E~UWz>!wijd#dZI5o-wmsIF6-_i388?2EG-UA~WtyPh diff --git a/A0/file.c b/A0/file.c index 9d9d7cc..0106c1d 100644 --- a/A0/file.c +++ b/A0/file.c @@ -9,22 +9,25 @@ enum FileType{ASCII, ISO, UTF, data}; bool is_utf8(FILE* f) { rewind(f); char byte; - bool utf8_byte; - int char_length; + int char_length = -1; for (;;) { if (fread(&byte, 1, 1, f) == 0) { break; } - utf8_byte = true; - for (int j = 0 ; 1 ; j++) { + for (int j = 0 ; j <= 8 ; j++) { if (byte >> 7 == 0) { - char_length = max(j, 1); + char_length = j; break; } byte = byte << 1; } + if (char_length == -1) { + return false; + } for (int i = 1 ; i < char_length ; i++) { - printf("esnathusrcaho"); + if (fread(&byte, 1, 1, f) == 0 || byte >> 6 != 2) { + return false; + } } } return true;