Read file block by block
This commit is contained in:
parent
2490ef0087
commit
3131f79f73
@ -1,139 +1,139 @@
|
|||||||
Ô XFNSY UWêYWJ ! LWFSIJ âRJ ! TM ! OJ YTRGJ à LJSTZC !
|
Ô CKSXD ZBêDBO ! QBKXNO âWO ! YR ! TO DYWLO à QOXYEH !
|
||||||
OJZSJ, NQ FAFNY JSHTW IJ QTSLX OTZWX UFWRN STZX,
|
TOEXO, SV KFKSD OXMYB NO VYXQC TYEBC ZKBWS XYEC,
|
||||||
NQ S'JS F UFX HTRUYé QJ STRGWJ ;
|
SV X'OX K ZKC MYWZDé VO XYWLBO ;
|
||||||
NQ éYFNY à HJY âLJ Tù QJ GTSMJZW KQJZWNY ;
|
SV éDKSD à MOD âQO Yù VO LYXROEB PVOEBSD ;
|
||||||
NQ F HTSXNIéWé QF HWTNC IJ OéXZX-HMWNXY
|
SV K MYXCSNéBé VK MBYSH NO TéCEC-MRBSCD
|
||||||
YTZYJ WFDTSSFSYJ IFSX Q'TRGWJ.
|
DYEDO BKIYXXKXDO NKXC V'YWLBO.
|
||||||
|
|
||||||
NQ F INY : — « H'JXY QJ INJZ IJ UWTLWèX JY I'FRTZW.
|
SV K NSD : — « M'OCD VO NSOE NO ZBYQBèC OD N'KWYEB.
|
||||||
OéXZX, VZN ATNY YTS KWTSY HWTNY ATNW QJ KWTSY IZ OTZW.
|
TéCEC, AES FYSD DYX PBYXD MBYSD FYSB VO PBYXD NE TYEB.
|
||||||
HMWNXY XTZWNY à VZN QJ WJUTZXXJ.
|
MRBSCD CYEBSD à AES VO BOZYECCO.
|
||||||
UZNXVZ'NQ JXY RTWY UTZW STZX, OJ AJZC RTZWNW UTZW QZN ;
|
ZESCAE'SV OCD WYBD ZYEB XYEC, TO FOEH WYEBSB ZYEB VES ;
|
||||||
IFSX XTS YTRGJFZ, ITSY O'FN QF UNJWWJ UTZW FUUZN,
|
NKXC CYX DYWLOKE, NYXD T'KS VK ZSOBBO ZYEB KZZES,
|
||||||
NQ R'FUUJQQJ I'ZSJ ATNC ITZHJ.
|
SV W'KZZOVVO N'EXO FYSH NYEMO.
|
||||||
|
|
||||||
« XF ITHYWNSJ JXY QJ HNJQ JSYW'TZAJWY ; UFW QF RFNS,
|
« CK NYMDBSXO OCD VO MSOV OXDB'YEFOBD ; ZKB VK WKSX,
|
||||||
HTRRJ ZS UèWJ Q'JSKFSY, NQ YNJSY QJ LJSWJ MZRFNS ;
|
MYWWO EX ZèBO V'OXPKXD, SV DSOXD VO QOXBO REWKSX ;
|
||||||
UFW QZN STZX ANATSX JY STZX XTRRJX ;
|
ZKB VES XYEC FSFYXC OD XYEC CYWWOC ;
|
||||||
FZ HMJAJY IJX LJôQNJWX ITWRFSY IFSX QJZWX RFNXTSX,
|
KE MROFOD NOC QOôVSOBC NYBWKXD NKXC VOEBC WKSCYXC,
|
||||||
NQ IéWTGJ QJX HQJKX IJ YTZYJX QJX UWNXTSX
|
SV NéBYLO VOC MVOPC NO DYEDOC VOC ZBSCYXC
|
||||||
JY RJY JS QNGJWYé QJX MTRRJX.
|
OD WOD OX VSLOBDé VOC RYWWOC.
|
||||||
|
|
||||||
« TW NQ JXY, QTNS IJ STZX, ZSJ FZYWJ MZRFSNYé
|
« YB SV OCD, VYSX NO XYEC, EXO KEDBO REWKXSDé
|
||||||
VZN SJ QJ HTSSFîY UTNSY, JY IFSX Q'NSNVZNYé
|
AES XO VO MYXXKîD ZYSXD, OD NKXC V'SXSAESDé
|
||||||
WFRUJ JSHMFîSéJ, JY XTZKKWJ JY YTRGJ ;
|
BKWZO OXMRKîXéO, OD CYEPPBO OD DYWLO ;
|
||||||
NQX KTSY UTZW YWTZAJW INJZ IJ YéSéGWJZC JKKTWYX ;
|
SVC PYXD ZYEB DBYEFOB NSOE NO DéXéLBOEH OPPYBDC ;
|
||||||
NQX X'FLNYJSY JS AFNS ; NQX XTSY HTRRJ IJX RTWYX
|
SVC C'KQSDOXD OX FKSX ; SVC CYXD MYWWO NOC WYBDC
|
||||||
VZN YâYJSY QJ RZW IJ QJZW YTRGJ.
|
AES DâDOXD VO WEB NO VOEB DYWLO.
|
||||||
|
|
||||||
« XFSX QTN, XFSX GZY, XFSX LZNIJ, NQX JWWJSY NHN-GFX.
|
« CKXC VYS, CKXC LED, CKXC QESNO, SVC OBBOXD SMS-LKC.
|
||||||
NQX XTSY RéHMFSYX, éYFSY NLSTWFSYX ; NQX S'TSY UFX
|
SVC CYXD WéMRKXDC, éDKXD SQXYBKXDC ; SVC X'YXD ZKC
|
||||||
QJZW UFWY IJ QF LWFSIJ HTSVZêYJ.
|
VOEB ZKBD NO VK QBKXNO MYXAEêDO.
|
||||||
O'NWFN. UTZW QJX XFZAJW OJ VZNYYJ QJ XFNSY QNJZ.
|
T'SBKS. ZYEB VOC CKEFOB TO AESDDO VO CKSXD VSOE.
|
||||||
Ô RJX KWèWJX, OJ ANJSX ATZX FUUTWYJW RTS INJZ,
|
Ô WOC PBèBOC, TO FSOXC FYEC KZZYBDOB WYX NSOE,
|
||||||
OJ ANJSX ATZX FUUTWYJW RF YêYJ ! » —
|
TO FSOXC FYEC KZZYBDOB WK DêDO ! » —
|
||||||
|
|
||||||
UWêYWJ, NQ X'JXY XTZAJSZ, HFQRJ JS STX OTZWX YWTZGQéX,
|
ZBêDBO, SV C'OCD CYEFOXE, MKVWO OX XYC TYEBC DBYELVéC,
|
||||||
IJ QF UFWTQJ INYJ FZC FUôYWJX : — FQQJE,
|
NO VK ZKBYVO NSDO KEH KZôDBOC : — KVVOJ,
|
||||||
GWFAJE QJX GûHMJWX JY QJX HQFNJX ! —
|
LBKFOJ VOC LûMROBC OD VOC MVKSOC ! —
|
||||||
JY IJ Q'FINJZ IZ HMWNXY FZ XZUWêRJ RTRJSY :
|
OD NO V'KNSOE NE MRBSCD KE CEZBêWO WYWOXD :
|
||||||
— Ô ANAFSY, FNRJE-ATZX ! FNRJE. JS ATZX FNRFSY,
|
— Ô FSFKXD, KSWOJ-FYEC ! KSWOJ. OX FYEC KSWKXD,
|
||||||
KWèWJX, ATZX KJWRJWJE RJX UQFNJX. —
|
PBèBOC, FYEC POBWOBOJ WOC ZVKSOC. —
|
||||||
|
|
||||||
NQ X'JXY INY VZ'NQ JXY GTS I'éHQFNWJW IFSX QJZW SZNY
|
SV C'OCD NSD AE'SV OCD LYX N'éMVKSBOB NKXC VOEB XESD
|
||||||
HJX UJZUQJX éLFWéX QTNS IZ UWTLWèX VZN QZNY,
|
MOC ZOEZVOC éQKBéC VYSX NE ZBYQBèC AES VESD,
|
||||||
ITSY Q'âRJ JXY HTZAJWYJ IJ ATNQJX ;
|
NYXD V'âWO OCD MYEFOBDO NO FYSVOC ;
|
||||||
UZNX NQ X'JS JXY FQQé, IFSX QJX AJSYX, IFSX QJX KQTYX,
|
ZESC SV C'OX OCD KVVé, NKXC VOC FOXDC, NKXC VOC PVYDC,
|
||||||
AJWX QJX STNWX HMJAFQJYX JY QJX XFSLQFSYX GNQQTYX,
|
FOBC VOC XYSBC MROFKVODC OD VOC CKXQVKXDC LSVVYDC,
|
||||||
QJX DJZC KNCéX XZW QJX éYTNQJX.
|
VOC IOEH PSHéC CEB VOC éDYSVOC.
|
||||||
|
|
||||||
NN.
|
SS.
|
||||||
|
|
||||||
HJZC AJWX VZN HJY FUôYWJ FQQFNY, Q'TSY éLTWLé.
|
MOEH FOBC AES MOD KZôDBO KVVKSD, V'YXD éQYBQé.
|
||||||
|
|
||||||
NNN.
|
SSS.
|
||||||
|
|
||||||
TM ! YFSINX VZJ Qà-GFX, MéQFX ! HMJE HJX GFWGFWJX,
|
YR ! DKXNSC AEO Và-LKC, RéVKC ! MROJ MOC LKBLKBOC,
|
||||||
X'éYFQJ Q'éHMFKFZI IJ YJX RJRGWJX HMFWLé,
|
C'éDKVO V'éMRKPKEN NO DOC WOWLBOC MRKBQé,
|
||||||
VZJ QJ GTZWWJFZ, WFSLJFSY XJX LQFNAJX JY XJX GFWWJX,
|
AEO VO LYEBBOKE, BKXQOKXD COC QVKSFOC OD COC LKBBOC,
|
||||||
KWTYYJ FZ LNGJY XTS TSLQJ Tù YTS XFSL X'JXY KNLé ;
|
PBYDDO KE QSLOD CYX YXQVO Yù DYX CKXQ C'OCD PSQé ;
|
||||||
|
|
||||||
HNJQ ! YFSINX VZJ QJX HMNJSX IFSX HJ XFSL ANJSSJSY GTNWJ,
|
MSOV ! DKXNSC AEO VOC MRSOXC NKXC MO CKXQ FSOXXOXD LYSBO,
|
||||||
JY VZJ QF RTZHMJ MTWWNGQJ, JXXFNR FZ ATQ OTDJZC,
|
OD AEO VK WYEMRO RYBBSLVO, OCCKSW KE FYV TYIOEH,
|
||||||
HTRRJ IFSX ZSJ WZHMJ JSYWJ JS YF GTZHMJ STNWJ
|
MYWWO NKXC EXO BEMRO OXDBO OX DK LYEMRO XYSBO
|
||||||
JY GTZWITSSJ FZ XTQJNQ IFSX QJX YWTZX IJ YJX DJZC ;
|
OD LYEBNYXXO KE CYVOSV NKXC VOC DBYEC NO DOC IOEH ;
|
||||||
|
|
||||||
YFSINX VZ'éHMJAJQéJ, JY XFSX ATNC, XFSX UFZUNèWJX,
|
DKXNSC AE'éMROFOVéO, OD CKXC FYSH, CKXC ZKEZSèBOC,
|
||||||
YF YêYJ GQêRJ JXY Qà XZW ZS NSKâRJ UNJZ,
|
DK DêDO LVêWO OCD Và CEB EX SXPâWO ZSOE,
|
||||||
QNAWéJ FZC ANQX FKKWTSYX, RJZWYWNJ à HTZUX IJ UNJWWJX,
|
VSFBéO KEH FSVC KPPBYXDC, WOEBDBSO à MYEZC NO ZSOBBOC,
|
||||||
NHN, IJWWNèWJ YTN, RFWYDW, TS AJSI YTS INJZ !
|
SMS, NOBBSèBO DYS, WKBDIB, YX FOXN DYX NSOE !
|
||||||
|
|
||||||
HJ INJZ VZN S'JXY VZ'à YTN, RFWYDW, TS YJ QJ ATQJ !
|
MO NSOE AES X'OCD AE'à DYS, WKBDIB, YX DO VO FYVO !
|
||||||
TS QJ QNAWJ à RFSIWNS, HJ INJZ UTZW VZN YZ RJZWX !
|
YX VO VSFBO à WKXNBSX, MO NSOE ZYEB AES DE WOEBC !
|
||||||
IJX MTRRJX, HTRRJ YTN WJAêYZX IJ Q'éYTQJ,
|
NOC RYWWOC, MYWWO DYS BOFêDEC NO V'éDYVO,
|
||||||
UTZW êYWJ HFWINSFZC, UTZW êYWJ XéSFYJZWX,
|
ZYEB êDBO MKBNSXKEH, ZYEB êDBO CéXKDOEBC,
|
||||||
|
|
||||||
IJX UWêYWJX, UTZW FATNW IJX UFQFNX, IJX HFWWTXXJX,
|
NOC ZBêDBOC, ZYEB KFYSB NOC ZKVKSC, NOC MKBBYCCOC,
|
||||||
JY IJX OFWINSX Q'éYé WNFSY XTZX QJ HNJQ GQJZ,
|
OD NOC TKBNSXC V'éDé BSKXD CYEC VO MSOV LVOE,
|
||||||
UTZW FWLJSYJW QJZW RNYWJ JY UTZW ITWJW QJZWX HWTXXJX,
|
ZYEB KBQOXDOB VOEB WSDBO OD ZYEB NYBOB VOEBC MBYCCOC,
|
||||||
UTZW GTNWJ IJ GTS ANS, FXXNX UWèX I'ZS GTS KJZ,
|
ZYEB LYSBO NO LYX FSX, KCCSC ZBèC N'EX LYX POE,
|
||||||
|
|
||||||
FZ KTWGFS ITSY QF RFNS IFSX QJ RJZWYWJ JXY YWJRUéJ,
|
KE PYBLKX NYXD VK WKSX NKXC VO WOEBDBO OCD DBOWZéO,
|
||||||
FZ QFWWTS HMFWLé I'TW VZN UFDJ JY VZN XTZWNY,
|
KE VKBBYX MRKBQé N'YB AES ZKIO OD AES CYEBSD,
|
||||||
LWFSI INJZ ! WJYTZWSJ-YTN AJWX STZX, YêYJ HTZUéJ !
|
QBKXN NSOE ! BODYEBXO-DYS FOBC XYEC, DêDO MYEZéO !
|
||||||
NQX AJSIJSY OéXZX-HMWNXY ! NQX AJSIJSY OéXZX-HMWNXY !
|
SVC FOXNOXD TéCEC-MRBSCD ! SVC FOXNOXD TéCEC-MRBSCD !
|
||||||
|
|
||||||
NQX QNAWJSY FZ GFSINY, UTZW VZJQVZJX XFHX XTWINIJX,
|
SVC VSFBOXD KE LKXNSD, ZYEB AEOVAEOC CKMC CYBNSNOC,
|
||||||
Q'éAFSLNQJ, QF QTN, Q'FZYJQ éUTZAFSYé,
|
V'éFKXQSVO, VK VYS, V'KEDOV éZYEFKXDé,
|
||||||
JY QF OZXYNHJ FZC DJZC XéAèWJX JY HFSINIJX,
|
OD VK TECDSMO KEH IOEH CéFèBOC OD MKXNSNOC,
|
||||||
JY Q'éYTNQJ IZ HTJZW MZRFNS, QF AéWNYé !
|
OD V'éDYSVO NE MYOEB REWKSX, VK FéBSDé !
|
||||||
|
|
||||||
QJX GTSX OJYéX, ANAFSYX, FZ GFLSJ, TZ RTWYX, FZC KQJZAJX,
|
VOC LYXC TODéC, FSFKXDC, KE LKQXO, YE WYBDC, KEH PVOEFOC,
|
||||||
Q'MTRRJ OZXYJ UWTXHWNY UFW HFWYTZHMJ XDQQF,
|
V'RYWWO TECDO ZBYCMBSD ZKB MKBDYEMRO CIVVK,
|
||||||
Q'NSSTHJSY éLTWLé, QJ IJZNQ XFHWé IJX AJZAJX,
|
V'SXXYMOXD éQYBQé, VO NOESV CKMBé NOC FOEFOC,
|
||||||
QJX UQJZWX IJ Q'TWUMJQNS, NQX AJSIJSY YTZY HJQF !
|
VOC ZVOEBC NO V'YBZROVSX, SVC FOXNOXD DYED MOVK !
|
||||||
|
|
||||||
YTZY ! QF KTN, QJ XJWRJSY VZJ INJZ YNJSY XTZX XF LFWIJ,
|
DYED ! VK PYS, VO COBWOXD AEO NSOE DSOXD CYEC CK QKBNO,
|
||||||
QJ XFNSY YJRUQJ Tù, RTZWFSY, YZ INX :NSYWTïGT,
|
VO CKSXD DOWZVO Yù, WYEBKXD, DE NSC :SXDBYïLY,
|
||||||
NQX QNAWJSY YTZY ! UZIJZW, AJWYZ ! — RFWYDW, WJLFWIJ,
|
SVC VSFBOXD DYED ! ZENOEB, FOBDE ! — WKBDIB, BOQKBNO,
|
||||||
WTZAWJ YJX DJZC VZ'JRUQNY QF QZJZW IZ YTRGJFZ ; —
|
BYEFBO DOC IOEH AE'OWZVSD VK VEOEB NE DYWLOKE ; —
|
||||||
|
|
||||||
NQX AJSIJSY Q'FWHMJ FZLZXYJ Tù Q'MTXYNJ éYNSHJQQJ !
|
SVC FOXNOXD V'KBMRO KEQECDO Yù V'RYCDSO éDSXMOVVO !
|
||||||
NQX AJSIJSY HMWNXY, YJ INX-OJ ! JY XJX RJRGWJX QNéX !
|
SVC FOXNOXD MRBSCD, DO NSC-TO ! OD COC WOWLBOC VSéC !
|
||||||
NQX AJSIJSY QF XZJZW VZN XZW XTS KWTSY WZNXXJQQJ,
|
SVC FOXNOXD VK CEOEB AES CEB CYX PBYXD BESCCOVVO,
|
||||||
JY QJX HQTZX IJ XJX RFNSX, JY QJX HQTZX IJ XJX UNJIX !
|
OD VOC MVYEC NO COC WKSXC, OD VOC MVYEC NO COC ZSONC !
|
||||||
|
|
||||||
NQX AJSIJSY FZ GWNLFSI VZN HMJE QZN QJX FYYNWJ
|
SVC FOXNOXD KE LBSQKXN AES MROJ VES VOC KDDSBO
|
||||||
QJ LWFSI HWZHNKNé XZW QJX MTRRJX UJSHMé ;
|
VO QBKXN MBEMSPSé CEB VOC RYWWOC ZOXMRé ;
|
||||||
NQX AJSIJSY XF UFWTQJ, NQX AJSIJSY XTS RFWYDWJ,
|
SVC FOXNOXD CK ZKBYVO, SVC FOXNOXD CYX WKBDIBO,
|
||||||
JY YTS RFWYDWJ à YTN UFW-IJXXZX QJ RFWHMé !
|
OD DYX WKBDIBO à DYS ZKB-NOCCEC VO WKBMRé !
|
||||||
|
|
||||||
YFSY UTZW QJX HTZUX IJ KTZJY VZ'NQ WJçZY à QF UTWYJ !
|
DKXD ZYEB VOC MYEZC NO PYEOD AE'SV BOçED à VK ZYBDO !
|
||||||
HéXFW ! YFSY UTZW Q'FRJS, YFSY UTZW Q'FQQéQZNF !
|
MéCKB ! DKXD ZYEB V'KWOX, DKXD ZYEB V'KVVéVESK !
|
||||||
YFSY UTZW QF UNJWWJ Tù ANSY MJZWYJW XF YêYJ RTWYJ !
|
DKXD ZYEB VK ZSOBBO Yù FSXD ROEBDOB CK DêDO WYBDO !
|
||||||
YFSY UTZW QJ IWFU WTZLN VZJ XF GFWGJ JXXZDF !
|
DKXD ZYEB VO NBKZ BYEQS AEO CK LKBLO OCCEIK !
|
||||||
|
|
||||||
NQX AJSIJSY XJX LJSTZC RJZWYWNX, XF UFQRJ AJWYJ,
|
SVC FOXNOXD COC QOXYEH WOEBDBSC, CK ZKVWO FOBDO,
|
||||||
XF UQFNJ FZ KQFSH, XTS TJNQ YTZY GFNLSé I'NSKNSN,
|
CK ZVKSO KE PVKXM, CYX YOSV DYED LKSQXé N'SXPSXS,
|
||||||
XJX UQJZWX, XTS FLTSNJ, JY XF GTZHMJ JSYWTZAJWYJ,
|
COC ZVOEBC, CYX KQYXSO, OD CK LYEMRO OXDBYEFOBDO,
|
||||||
JY QJ HWN VZ'NQ UTZXXF : QFRRF XFGFHYMFSN !
|
OD VO MBS AE'SV ZYECCK : VKWWK CKLKMDRKXS !
|
||||||
|
|
||||||
NQX AJSIJSY QJ XéUZQHWJ ! NQX AJSIJSY QJX YéSèGWJX !
|
SVC FOXNOXD VO CéZEVMBO ! SVC FOXNOXD VOC DéXèLBOC !
|
||||||
QJX XéWFUMNSX HMFSYFSY FZ XJZNQ UWTKTSI IJX HNJZC,
|
VOC CéBKZRSXC MRKXDKXD KE COESV ZBYPYXN NOC MSOEH,
|
||||||
JY QF RèWJ IJGTZY XTZX Q'FWGWJ FZC GWFX KZSèGWJX,
|
OD VK WèBO NOLYED CYEC V'KBLBO KEH LBKC PEXèLBOC,
|
||||||
VZN, XJSYFSY Qà XTS KNQX, SJ QJAFNY UFX QJX DJZC !
|
AES, COXDKXD Và CYX PSVC, XO VOFKSD ZKC VOC IOEH !
|
||||||
|
|
||||||
TZN, HJX éAêVZJX, TZN, HJX RFWHMFSIX, TZN, HJX UWêYWJX
|
YES, MOC éFêAEOC, YES, MOC WKBMRKXNC, YES, MOC ZBêDBOC
|
||||||
F Q'MNXYWNTS IZ HWNRJ, FXXTZAN, HTZWTSSé,
|
K V'RSCDBSYX NE MBSWO, KCCYEFS, MYEBYXXé,
|
||||||
F HJ SéWTS WJUZ VZN WNY UFWRN QJX YWFîYWJX,
|
K MO XéBYX BOZE AES BSD ZKBWS VOC DBKîDBOC,
|
||||||
ZS UNJI XZW YMWFXéFX, ZS HTZIJ XZW UMWDSé,
|
EX ZSON CEB DRBKCéKC, EX MYENO CEB ZRBIXé,
|
||||||
|
|
||||||
FZ ATQJZW VZN YZF QJX QTNX à HTZUX IJ HWTXXJ,
|
KE FYVOEB AES DEK VOC VYSC à MYEZC NO MBYCCO,
|
||||||
FZ UNWFYJ JRUJWJZW SFUTQéTS IJWSNJW,
|
KE ZSBKDO OWZOBOEB XKZYVéYX NOBXSOB,
|
||||||
NAWJ IJZC KTNX, NRRTSIJ JSHTW UQZX VZJ KéWTHJ,
|
SFBO NOEH PYSC, SWWYXNO OXMYB ZVEC AEO PéBYMO,
|
||||||
UTZWHJFZ IFSX QJ HQTFVZJ JY QTZU IFSX QJ HMFWSNJW,
|
ZYEBMOKE NKXC VO MVYKAEO OD VYEZ NKXC VO MRKBXSOB,
|
||||||
|
|
||||||
NQX AJSIJSY, ô RFWYDW, QJ INJZ UJSXNK JY UâQJ
|
SVC FOXNOXD, ô WKBDIB, VO NSOE ZOXCSP OD ZâVO
|
||||||
VZN, IJGTZY XZW QF YJWWJ JY XTZX QJ KNWRFRJSY,
|
AES, NOLYED CEB VK DOBBO OD CYEC VO PSBWKWOXD,
|
||||||
YWNXYJ JY STZX XTZWNFSY IFSX STYWJ SZNY KFYFQJ,
|
DBSCDO OD XYEC CYEBSKXD NKXC XYDBO XESD PKDKVO,
|
||||||
XZW QJ STNW LTQLTYMF XFNLSJ éYJWSJQQJRJSY !
|
CEB VO XYSB QYVQYDRK CKSQXO éDOBXOVVOWOXD !
|
||||||
|
139
examples/poem.txt.crypt.decrypt
Normal file
139
examples/poem.txt.crypt.decrypt
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
Ô SAINT PRêTRE ! GRANDE âME ! OH ! JE TOMBE à GENOUX !
|
||||||
|
JEUNE, IL AVAIT ENCOR DE LONGS JOURS PARMI NOUS,
|
||||||
|
IL N'EN A PAS COMPTé LE NOMBRE ;
|
||||||
|
IL éTAIT à CET âGE Où LE BONHEUR FLEURIT ;
|
||||||
|
IL A CONSIDéRé LA CROIX DE JéSUS-CHRIST
|
||||||
|
TOUTE RAYONNANTE DANS L'OMBRE.
|
||||||
|
|
||||||
|
IL A DIT : — « C'EST LE DIEU DE PROGRèS ET D'AMOUR.
|
||||||
|
JéSUS, QUI VOIT TON FRONT CROIT VOIR LE FRONT DU JOUR.
|
||||||
|
CHRIST SOURIT à QUI LE REPOUSSE.
|
||||||
|
PUISQU'IL EST MORT POUR NOUS, JE VEUX MOURIR POUR LUI ;
|
||||||
|
DANS SON TOMBEAU, DONT J'AI LA PIERRE POUR APPUI,
|
||||||
|
IL M'APPELLE D'UNE VOIX DOUCE.
|
||||||
|
|
||||||
|
« SA DOCTRINE EST LE CIEL ENTR'OUVERT ; PAR LA MAIN,
|
||||||
|
COMME UN PèRE L'ENFANT, IL TIENT LE GENRE HUMAIN ;
|
||||||
|
PAR LUI NOUS VIVONS ET NOUS SOMMES ;
|
||||||
|
AU CHEVET DES GEôLIERS DORMANT DANS LEURS MAISONS,
|
||||||
|
IL DéROBE LES CLEFS DE TOUTES LES PRISONS
|
||||||
|
ET MET EN LIBERTé LES HOMMES.
|
||||||
|
|
||||||
|
« OR IL EST, LOIN DE NOUS, UNE AUTRE HUMANITé
|
||||||
|
QUI NE LE CONNAîT POINT, ET DANS L'INIQUITé
|
||||||
|
RAMPE ENCHAîNéE, ET SOUFFRE ET TOMBE ;
|
||||||
|
ILS FONT POUR TROUVER DIEU DE TéNéBREUX EFFORTS ;
|
||||||
|
ILS S'AGITENT EN VAIN ; ILS SONT COMME DES MORTS
|
||||||
|
QUI TâTENT LE MUR DE LEUR TOMBE.
|
||||||
|
|
||||||
|
« SANS LOI, SANS BUT, SANS GUIDE, ILS ERRENT ICI-BAS.
|
||||||
|
ILS SONT MéCHANTS, éTANT IGNORANTS ; ILS N'ONT PAS
|
||||||
|
LEUR PART DE LA GRANDE CONQUêTE.
|
||||||
|
J'IRAI. POUR LES SAUVER JE QUITTE LE SAINT LIEU.
|
||||||
|
Ô MES FRèRES, JE VIENS VOUS APPORTER MON DIEU,
|
||||||
|
JE VIENS VOUS APPORTER MA TêTE ! » —
|
||||||
|
|
||||||
|
PRêTRE, IL S'EST SOUVENU, CALME EN NOS JOURS TROUBLéS,
|
||||||
|
DE LA PAROLE DITE AUX APôTRES : — ALLEZ,
|
||||||
|
BRAVEZ LES BûCHERS ET LES CLAIES ! —
|
||||||
|
ET DE L'ADIEU DU CHRIST AU SUPRêME MOMENT :
|
||||||
|
— Ô VIVANT, AIMEZ-VOUS ! AIMEZ. EN VOUS AIMANT,
|
||||||
|
FRèRES, VOUS FERMEREZ MES PLAIES. —
|
||||||
|
|
||||||
|
IL S'EST DIT QU'IL EST BON D'éCLAIRER DANS LEUR NUIT
|
||||||
|
CES PEUPLES éGARéS LOIN DU PROGRèS QUI LUIT,
|
||||||
|
DONT L'âME EST COUVERTE DE VOILES ;
|
||||||
|
PUIS IL S'EN EST ALLé, DANS LES VENTS, DANS LES FLOTS,
|
||||||
|
VERS LES NOIRS CHEVALETS ET LES SANGLANTS BILLOTS,
|
||||||
|
LES YEUX FIXéS SUR LES éTOILES.
|
||||||
|
|
||||||
|
II.
|
||||||
|
|
||||||
|
CEUX VERS QUI CET APôTRE ALLAIT, L'ONT éGORGé.
|
||||||
|
|
||||||
|
III.
|
||||||
|
|
||||||
|
OH ! TANDIS QUE Là-BAS, HéLAS ! CHEZ CES BARBARES,
|
||||||
|
S'éTALE L'éCHAFAUD DE TES MEMBRES CHARGé,
|
||||||
|
QUE LE BOURREAU, RANGEANT SES GLAIVES ET SES BARRES,
|
||||||
|
FROTTE AU GIBET SON ONGLE Où TON SANG S'EST FIGé ;
|
||||||
|
|
||||||
|
CIEL ! TANDIS QUE LES CHIENS DANS CE SANG VIENNENT BOIRE,
|
||||||
|
ET QUE LA MOUCHE HORRIBLE, ESSAIM AU VOL JOYEUX,
|
||||||
|
COMME DANS UNE RUCHE ENTRE EN TA BOUCHE NOIRE
|
||||||
|
ET BOURDONNE AU SOLEIL DANS LES TROUS DE TES YEUX ;
|
||||||
|
|
||||||
|
TANDIS QU'éCHEVELéE, ET SANS VOIX, SANS PAUPIèRES,
|
||||||
|
TA TêTE BLêME EST Là SUR UN INFâME PIEU,
|
||||||
|
LIVRéE AUX VILS AFFRONTS, MEURTRIE à COUPS DE PIERRES,
|
||||||
|
ICI, DERRIèRE TOI, MARTYR, ON VEND TON DIEU !
|
||||||
|
|
||||||
|
CE DIEU QUI N'EST QU'à TOI, MARTYR, ON TE LE VOLE !
|
||||||
|
ON LE LIVRE à MANDRIN, CE DIEU POUR QUI TU MEURS !
|
||||||
|
DES HOMMES, COMME TOI REVêTUS DE L'éTOLE,
|
||||||
|
POUR êTRE CARDINAUX, POUR êTRE SéNATEURS,
|
||||||
|
|
||||||
|
DES PRêTRES, POUR AVOIR DES PALAIS, DES CARROSSES,
|
||||||
|
ET DES JARDINS L'éTé RIANT SOUS LE CIEL BLEU,
|
||||||
|
POUR ARGENTER LEUR MITRE ET POUR DORER LEURS CROSSES,
|
||||||
|
POUR BOIRE DE BON VIN, ASSIS PRèS D'UN BON FEU,
|
||||||
|
|
||||||
|
AU FORBAN DONT LA MAIN DANS LE MEURTRE EST TREMPéE,
|
||||||
|
AU LARRON CHARGé D'OR QUI PAYE ET QUI SOURIT,
|
||||||
|
GRAND DIEU ! RETOURNE-TOI VERS NOUS, TêTE COUPéE !
|
||||||
|
ILS VENDENT JéSUS-CHRIST ! ILS VENDENT JéSUS-CHRIST !
|
||||||
|
|
||||||
|
ILS LIVRENT AU BANDIT, POUR QUELQUES SACS SORDIDES,
|
||||||
|
L'éVANGILE, LA LOI, L'AUTEL éPOUVANTé,
|
||||||
|
ET LA JUSTICE AUX YEUX SéVèRES ET CANDIDES,
|
||||||
|
ET L'éTOILE DU COEUR HUMAIN, LA VéRITé !
|
||||||
|
|
||||||
|
LES BONS JETéS, VIVANTS, AU BAGNE, OU MORTS, AUX FLEUVES,
|
||||||
|
L'HOMME JUSTE PROSCRIT PAR CARTOUCHE SYLLA,
|
||||||
|
L'INNOCENT éGORGé, LE DEUIL SACRé DES VEUVES,
|
||||||
|
LES PLEURS DE L'ORPHELIN, ILS VENDENT TOUT CELA !
|
||||||
|
|
||||||
|
TOUT ! LA FOI, LE SERMENT QUE DIEU TIENT SOUS SA GARDE,
|
||||||
|
LE SAINT TEMPLE Où, MOURANT, TU DIS :INTROïBO,
|
||||||
|
ILS LIVRENT TOUT ! PUDEUR, VERTU ! — MARTYR, REGARDE,
|
||||||
|
ROUVRE TES YEUX QU'EMPLIT LA LUEUR DU TOMBEAU ; —
|
||||||
|
|
||||||
|
ILS VENDENT L'ARCHE AUGUSTE Où L'HOSTIE éTINCELLE !
|
||||||
|
ILS VENDENT CHRIST, TE DIS-JE ! ET SES MEMBRES LIéS !
|
||||||
|
ILS VENDENT LA SUEUR QUI SUR SON FRONT RUISSELLE,
|
||||||
|
ET LES CLOUS DE SES MAINS, ET LES CLOUS DE SES PIEDS !
|
||||||
|
|
||||||
|
ILS VENDENT AU BRIGAND QUI CHEZ LUI LES ATTIRE
|
||||||
|
LE GRAND CRUCIFIé SUR LES HOMMES PENCHé ;
|
||||||
|
ILS VENDENT SA PAROLE, ILS VENDENT SON MARTYRE,
|
||||||
|
ET TON MARTYRE à TOI PAR-DESSUS LE MARCHé !
|
||||||
|
|
||||||
|
TANT POUR LES COUPS DE FOUET QU'IL REçUT à LA PORTE !
|
||||||
|
CéSAR ! TANT POUR L'AMEN, TANT POUR L'ALLéLUIA !
|
||||||
|
TANT POUR LA PIERRE Où VINT HEURTER SA TêTE MORTE !
|
||||||
|
TANT POUR LE DRAP ROUGI QUE SA BARBE ESSUYA !
|
||||||
|
|
||||||
|
ILS VENDENT SES GENOUX MEURTRIS, SA PALME VERTE,
|
||||||
|
SA PLAIE AU FLANC, SON OEIL TOUT BAIGNé D'INFINI,
|
||||||
|
SES PLEURS, SON AGONIE, ET SA BOUCHE ENTROUVERTE,
|
||||||
|
ET LE CRI QU'IL POUSSA : LAMMA SABACTHANI !
|
||||||
|
|
||||||
|
ILS VENDENT LE SéPULCRE ! ILS VENDENT LES TéNèBRES !
|
||||||
|
LES SéRAPHINS CHANTANT AU SEUIL PROFOND DES CIEUX,
|
||||||
|
ET LA MèRE DEBOUT SOUS L'ARBRE AUX BRAS FUNèBRES,
|
||||||
|
QUI, SENTANT Là SON FILS, NE LEVAIT PAS LES YEUX !
|
||||||
|
|
||||||
|
OUI, CES éVêQUES, OUI, CES MARCHANDS, OUI, CES PRêTRES
|
||||||
|
A L'HISTRION DU CRIME, ASSOUVI, COURONNé,
|
||||||
|
A CE NéRON REPU QUI RIT PARMI LES TRAîTRES,
|
||||||
|
UN PIED SUR THRASéAS, UN COUDE SUR PHRYNé,
|
||||||
|
|
||||||
|
AU VOLEUR QUI TUA LES LOIS à COUPS DE CROSSE,
|
||||||
|
AU PIRATE EMPEREUR NAPOLéON DERNIER,
|
||||||
|
IVRE DEUX FOIS, IMMONDE ENCOR PLUS QUE FéROCE,
|
||||||
|
POURCEAU DANS LE CLOAQUE ET LOUP DANS LE CHARNIER,
|
||||||
|
|
||||||
|
ILS VENDENT, ô MARTYR, LE DIEU PENSIF ET PâLE
|
||||||
|
QUI, DEBOUT SUR LA TERRE ET SOUS LE FIRMAMENT,
|
||||||
|
TRISTE ET NOUS SOURIANT DANS NOTRE NUIT FATALE,
|
||||||
|
SUR LE NOIR GOLGOTHA SAIGNE éTERNELLEMENT !
|
2
exec.sh
2
exec.sh
@ -1,3 +1,3 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
gcc -W src/main.c src/functions.c src/caesar.c src/vigenere.c -o output/main && ./output/main $1 $2 $3 $4
|
gcc -Wall src/main.c src/functions.c src/caesar.c src/vigenere.c -o output/main && ./output/main $1 $2 $3 $4
|
||||||
|
Binary file not shown.
BIN
src/.main.c.swp
BIN
src/.main.c.swp
Binary file not shown.
171
src/caesar.c
171
src/caesar.c
@ -1,55 +1,85 @@
|
|||||||
#include "caesar.h"
|
#include "caesar.h"
|
||||||
|
|
||||||
|
#define BUFFER_SIZE 128
|
||||||
|
|
||||||
|
/*
|
||||||
|
This function read the file block by block until the end of it
|
||||||
|
*/
|
||||||
|
int readFile(FILE *f, int *size, char *buffer){
|
||||||
|
int index = 0;
|
||||||
|
char c;
|
||||||
|
int end = 0;
|
||||||
|
|
||||||
|
do{
|
||||||
|
c = fgetc(f);
|
||||||
|
buffer[index] = c;
|
||||||
|
index++;
|
||||||
|
*size += 1;
|
||||||
|
|
||||||
|
// End of the file, we stop it
|
||||||
|
if (c == EOF){
|
||||||
|
buffer[index - 1] = '\0';
|
||||||
|
index = BUFFER_SIZE;
|
||||||
|
end = 1;
|
||||||
|
}
|
||||||
|
}while(index < BUFFER_SIZE);
|
||||||
|
|
||||||
|
return end;
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
s -> path source
|
s -> path source
|
||||||
d -> path destination
|
d -> path destination
|
||||||
key -> key of encryption
|
key -> key of encryption
|
||||||
This function encrypt data
|
This function encrypt data
|
||||||
*/
|
*/
|
||||||
char *cryptCaesar(const char *s, const int key, const int countCharact, const char *data) {
|
int cryptCaesar(const char *s, const char *filenameDst, const int key) {
|
||||||
char *buffer, *bufferDst = NULL;
|
|
||||||
int i;
|
int i;
|
||||||
int error = countCharact;
|
|
||||||
char c = 0;
|
char c = 0;
|
||||||
|
FILE *f = NULL, *fDst = NULL;
|
||||||
|
char data[BUFFER_SIZE];
|
||||||
|
char dataEncrypted[BUFFER_SIZE];
|
||||||
|
int size = 0, end = 0;
|
||||||
|
|
||||||
if(error == -1) return NULL;
|
// Open the file
|
||||||
|
f = fopen(s, "r+");
|
||||||
|
if (f == NULL) return -1;
|
||||||
|
|
||||||
// Malloc the dest buffer
|
fDst = fopen(filenameDst, "w");
|
||||||
bufferDst = malloc(sizeof(int) * countCharact);
|
if (fDst == NULL) {
|
||||||
memset(bufferDst, 0, sizeof(int) * countCharact);
|
fclose(f);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
/* Allocation dynamique */
|
// We are going to read the file block by block
|
||||||
buffer = malloc(countCharact + 1); /* + 1 for '\0' */
|
do {
|
||||||
|
end = readFile(f, &size, data);
|
||||||
|
|
||||||
/* Copy the data of file into the buffer[] */
|
/********* Encryption **********/
|
||||||
error = copyFile(s, buffer);
|
for (i = 0; i < size; i++){
|
||||||
if(error != 0) return NULL;
|
if (data[i] >= 'A' && data[i] <= 'Z'){
|
||||||
|
c = data[i] - 'A';
|
||||||
|
dataEncrypted[i] = ((c + key) % 26) + 'A';
|
||||||
|
}
|
||||||
|
else if (data[i] >= 'a' && data[i] <= 'z'){
|
||||||
|
c = data[i] - 'a';
|
||||||
|
dataEncrypted[i] = ((c + key) % 26) + 'A';
|
||||||
|
}
|
||||||
|
else dataEncrypted[i] = data[i];
|
||||||
|
|
||||||
/********* Encryption **********/
|
// We can write into the dest file
|
||||||
for(i = 0; i < countCharact; i++) {
|
if (dataEncrypted[i] != '\0')
|
||||||
int val = 0;
|
fputc(dataEncrypted[i], fDst);
|
||||||
/* For characters of A to Z */
|
}
|
||||||
if(buffer[i] >= 'A' && buffer[i] <= 'Z') {
|
size = 0;
|
||||||
c = buffer[i] - 'A';
|
|
||||||
val = ((c + key) % 26) + 'A';
|
|
||||||
}
|
|
||||||
/* For characters of 'a' to 'z' */
|
|
||||||
else if(buffer[i] >= 'a' && buffer[i] <= 'z') {
|
|
||||||
c = buffer[i] - 'a';
|
|
||||||
val = ((c + key) % 26) + 'A';
|
|
||||||
}
|
|
||||||
/* For others characters */
|
|
||||||
else val = buffer[i];
|
|
||||||
|
|
||||||
bufferDst[i] = val;
|
memset(data, 0, BUFFER_SIZE);
|
||||||
}
|
memset(dataEncrypted, 0, BUFFER_SIZE);
|
||||||
|
}while(end != 1);
|
||||||
|
|
||||||
bufferDst[i] = '\0';
|
/* Close files */
|
||||||
|
fclose(f);
|
||||||
/* Freedom the memory */
|
fclose(fDst);
|
||||||
free(buffer);
|
return 0;
|
||||||
|
|
||||||
return bufferDst;
|
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
s -> path source
|
s -> path source
|
||||||
@ -57,44 +87,51 @@ char *cryptCaesar(const char *s, const int key, const int countCharact, const ch
|
|||||||
key -> key of decryption
|
key -> key of decryption
|
||||||
This function decryption by Cesar
|
This function decryption by Cesar
|
||||||
*/
|
*/
|
||||||
char *decryptCaesar(const char *s, const int key, const int countCharact) {
|
int decryptCaesar(const char *s, const char *filenameDst, const int key) {
|
||||||
int error = countCharact;
|
|
||||||
char *buffer, *bufferDst = NULL;
|
|
||||||
int i;
|
int i;
|
||||||
|
FILE *f = NULL, *fDst = NULL;
|
||||||
|
char data[BUFFER_SIZE];
|
||||||
|
char dataDecrypted[BUFFER_SIZE];
|
||||||
|
int size = 0, end = 0;
|
||||||
|
|
||||||
if(error == -1)
|
// Open the file
|
||||||
return NULL;
|
f = fopen(s, "r+");
|
||||||
|
if (f == NULL) return -1;
|
||||||
|
|
||||||
// Malloc the dest buffer
|
fDst = fopen(filenameDst, "w");
|
||||||
bufferDst = malloc(sizeof(int) * countCharact);
|
if (fDst == NULL) {
|
||||||
memset(bufferDst, 0, sizeof(int) * countCharact);
|
fclose(f);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
/* Allocation dynamique */
|
// We are going to read the file block by block
|
||||||
buffer = malloc(countCharact + 1); /* +1 for '\0' */
|
do {
|
||||||
|
end = readFile(f, &size, data);
|
||||||
|
|
||||||
/* Copy the data from file into buffer */
|
/********* Decryption **********/
|
||||||
error = copyFile(s, buffer);
|
for (i = 0; i < size; i++){
|
||||||
if(error != 0) return NULL;
|
int val = 0;
|
||||||
|
//if (data[i] >= 'A' && data[i] <= 'Z'){
|
||||||
|
if(data[i] >= 65 && data[i] <= 90) {
|
||||||
|
val = data[i] - key;
|
||||||
|
if (val < 'A')
|
||||||
|
val = val + 26;
|
||||||
|
}
|
||||||
|
else val = data[i];
|
||||||
|
dataDecrypted[i] = val;
|
||||||
|
// We can write into the dest file
|
||||||
|
if (dataDecrypted[i] != '\0')
|
||||||
|
fputc(dataDecrypted[i], fDst);
|
||||||
|
}
|
||||||
|
size = 0;
|
||||||
|
|
||||||
/********* Decryption **********/
|
memset(data, 0, BUFFER_SIZE);
|
||||||
for(i = 0; i < countCharact; i++) {
|
memset(dataDecrypted, 0, BUFFER_SIZE);
|
||||||
int val = 0;
|
}while(end != 1);
|
||||||
/* buffer[i] >= 'A' AND buffer[i] <= 'Z' */
|
|
||||||
if(buffer[i] >= 65 && buffer[i] <= 90) {
|
|
||||||
val = buffer[i] - key;
|
|
||||||
/* val < 'A' */
|
|
||||||
if(val < 65)
|
|
||||||
val = val + 26;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
val = buffer[i];
|
|
||||||
|
|
||||||
bufferDst[i] = val;
|
/* Close files */
|
||||||
}
|
fclose(f);
|
||||||
bufferDst[i] = '\0';
|
fclose(fDst);
|
||||||
|
|
||||||
/* Freedom the memory */
|
return 0;
|
||||||
free(buffer);
|
|
||||||
|
|
||||||
return bufferDst;
|
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,8 @@
|
|||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
|
|
||||||
/* Functions */
|
/* Functions */
|
||||||
char *cryptCaesar(const char *s, const int key, const int countCharact, const char *);
|
int foo(FILE *, int *, char *);
|
||||||
char *decryptCaesar(const char *s, const int key, const int countCharact);
|
int cryptCaesar(const char *, const char *, const int);
|
||||||
|
int decryptCaesar(const char *, const char *, const int);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
29
src/main.c
29
src/main.c
@ -4,9 +4,8 @@
|
|||||||
|
|
||||||
int main(int argc, char *argv[]) {
|
int main(int argc, char *argv[]) {
|
||||||
int error = 0;
|
int error = 0;
|
||||||
int numberCharacters = 0;
|
|
||||||
char *options[4] = {"-c","-v","-t","-s"};
|
char *options[4] = {"-c","-v","-t","-s"};
|
||||||
char *hook, *fileSrc, *fileDst, *data, *buffer = NULL;
|
char *hook, *fileSrc, *fileDst, *buffer = NULL;
|
||||||
size_t sFile, i;
|
size_t sFile, i;
|
||||||
|
|
||||||
if(argc != 4) {
|
if(argc != 4) {
|
||||||
@ -64,20 +63,11 @@ int main(int argc, char *argv[]) {
|
|||||||
fileDst[i++] = 't';
|
fileDst[i++] = 't';
|
||||||
fileDst[i++] = '\0';
|
fileDst[i++] = '\0';
|
||||||
|
|
||||||
// Get size of the file
|
|
||||||
numberCharacters = fileNumberCaract(fileSrc);
|
|
||||||
|
|
||||||
// Read the file
|
|
||||||
data = malloc(numberCharacters + 1); /* + 1 for '\0' */
|
|
||||||
|
|
||||||
/* Copy the data of file into the data[] */
|
|
||||||
error = copyFile(fileSrc, data);
|
|
||||||
if(error != 0) return -1;
|
|
||||||
|
|
||||||
// Caesar cipher
|
// Caesar cipher
|
||||||
if(strcmp(argv[1], "-c") == 0){
|
if(strcmp(argv[1], "-c") == 0){
|
||||||
// Get key
|
// Get key
|
||||||
int key;
|
int key;
|
||||||
|
int res;
|
||||||
|
|
||||||
do{
|
do{
|
||||||
printf("Your key (between 1 and 26): ");
|
printf("Your key (between 1 and 26): ");
|
||||||
@ -85,9 +75,12 @@ int main(int argc, char *argv[]) {
|
|||||||
}while(key < 1 || key > 26);
|
}while(key < 1 || key > 26);
|
||||||
|
|
||||||
if(strcmp(hook, "crypt") == 0)
|
if(strcmp(hook, "crypt") == 0)
|
||||||
buffer = cryptCaesar(fileSrc, key, numberCharacters, data);
|
res = cryptCaesar(fileSrc, fileDst, key);
|
||||||
if(strcmp(hook, "decrypt") == 0)
|
if(strcmp(hook, "decrypt") == 0)
|
||||||
buffer = decryptCaesar(fileSrc, key, numberCharacters);
|
res = decryptCaesar(fileSrc, fileDst, key);
|
||||||
|
|
||||||
|
if (res != 0)
|
||||||
|
printf("Failed to encrypt/decrypt the file");
|
||||||
}
|
}
|
||||||
// Vigenere
|
// Vigenere
|
||||||
else if(strcmp(argv[1], "-v") == 0){
|
else if(strcmp(argv[1], "-v") == 0){
|
||||||
@ -98,7 +91,7 @@ int main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
|
|
||||||
if(strcmp(hook, "crypt") == 0)
|
if(strcmp(hook, "crypt") == 0)
|
||||||
error = cryptVigenere(key, fileSrc, numberCharacters, buffer);
|
error = cryptVigenere(key, fileSrc, 0, buffer);
|
||||||
|
|
||||||
free(key);
|
free(key);
|
||||||
}
|
}
|
||||||
@ -110,9 +103,6 @@ int main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add data to file
|
|
||||||
addDataToFile(buffer, fileDst);
|
|
||||||
|
|
||||||
/* Display error */
|
/* Display error */
|
||||||
/*
|
/*
|
||||||
* if(error == 0) err(error, fileDst);
|
* if(error == 0) err(error, fileDst);
|
||||||
@ -121,6 +111,7 @@ int main(int argc, char *argv[]) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
free(fileDst);
|
free(fileDst);
|
||||||
free(buffer);
|
//free(buffer);
|
||||||
|
//free(data);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,6 @@ int cryptVigenere(const char *key, const char *fileSrc, const int numberCharacte
|
|||||||
char matrice[SIZE_MATRICE_VIGENERE][SIZE_MATRICE_VIGENERE];
|
char matrice[SIZE_MATRICE_VIGENERE][SIZE_MATRICE_VIGENERE];
|
||||||
char *data = malloc(sizeof(char) * numberCharacters);
|
char *data = malloc(sizeof(char) * numberCharacters);
|
||||||
char *dataVigenere = NULL;
|
char *dataVigenere = NULL;
|
||||||
char c = 0;
|
|
||||||
int pos = 0;
|
int pos = 0;
|
||||||
size_t i, j = 0;
|
size_t i, j = 0;
|
||||||
size_t keyLength = strlen(key);
|
size_t keyLength = strlen(key);
|
||||||
|
Loading…
Reference in New Issue
Block a user