From e1090337f75e7bc451ac389b3f879e75197e093d Mon Sep 17 00:00:00 2001 From: iss Date: Sun, 24 Jan 2021 01:38:10 +0200 Subject: [PATCH] fix: properly handling of cr/lf in dftxt2tap utility --- Oric-DFLAT/emulator/dftxt2tap | Bin 20808 -> 20808 bytes .../util/dftxt2tap/dftxt2tap/dftxt2tap.cpp | 20 ++++++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/Oric-DFLAT/emulator/dftxt2tap b/Oric-DFLAT/emulator/dftxt2tap index c93ddc384d2aa0c41afde5107d50f6b10b913a07..5e9ca4e0fd0816a3e9803ef48a234d61691a89fb 100755 GIT binary patch delta 1157 zcmZuwT}TvB6rMXax=e1X;?_DyYVMjpxM86aEL*Q8Gs!%V|??Wh5Y;8nhrnytoxig#f(1n?M&i8%yoO92a8SO`- z{pgkj@h+Y*mWx+1&<-|pd}Z7*<$H8(_|358^u043XTQwsQH~~!TWx8AhryAdOIdV_ z%n@JuN0hGAX7sVhO{OwSkXy0ZZOE_Dc(PZ+VO%{7=8+~WbFpHE!BQkTv7qbS-Z&ty z6G$H*ovQ7O+M%|Uv>%J}hm+xLZL#=OVRzwT60$>|ZAv{F$&^R)8nlkno=-beO1p-Ph zqXodo+$2B&6-nGn+Edxy0z%t>w^%cevxeyYAJI)PWbP`wt97{LaX!L@$&D2S=pcE% zBCj-MUe^a(^Pn{ssCAxNgjxv1(fwdSDUS=yah@bjN3Orm@J0rgQ^h(^1iTuGO@gi~ z!8j?i3Ydu3_&i`H7QX<3eF*`rB#Qn$T9;rvbV~Q;jI>n=48%-y!o;!*3(Q*Hfe*9o zg%9a)Wpq|sOlCITMLs&pP#F=jgxyzHn@7^k5d8_41$XcYy)XvrKFu=rBs61NxghSW z3s$d%TZlV0NiRg-CTUh|6eZ1vgKL}sZ?7x*3FEXx-AYeZdGejyY*y%+)%6BwTF!S} zZ-spnVuoO^nkN;j-d0nJ5tpT%VAordleVDL6bq9L&}Vqu-*i0;`y$U0N*jDCoV!f6 z<>#C1i3<3+oV+&7~VHyaRq&x^e}wwOk-~E1W$2ed)3r z5N}T?{_BzrmCmKP3584WklSpY(p%YxXo62wH5_UtMK!0;9C=W41Ta!wJAxXNAGOU0 dT_R25DK-ssV$D+Yo)p!)7t4Xud+R?W{RTag$Nm5S delta 1165 zcmaJ=QAiY97@jlR)H=DXie@X-X4<`}c_WLg2X&_!8AHRU?GiW0ZU(+wiZX&*wt-nY z3|qqK!FmV^q8@s%<|5u+b{AtegF?ELK16H}#@saVBIac4J@-4aoAh)CX3qcr-}it2 zfBtjk*=Ak+H7y)h*q0P=K-6LElAU*ZxE3Ef>b@m{+RQA5hzBnUk* z@8z5Dq8znOLmiQxs}4R{C8&ZHX_$$voW-t7$_z4AGw0+1;8^ z^s$0B+KhmAAO>}ahq$;Qjc}x>21tC~t?3DU)H(sgko*XB$A~VigaL{BAbJPX%5)}O zaY%C*r$d^8VMrFfbqt%lC?};+`lH-K!HH|N3o_2*wKum4q#6)x@Pd*QJx0)ssDIkd~QqGZMKr*Qz zp6hmU?`0XhODphwu8~Co`~*MGIW3*b#y}RV0-74WmFWR(pvhtPkrVE>aFVcrNlf=>9UlI6X^Gmo-YO(12vd%ltBpiA!jzxtvArS$_^OTGNmq`R12~qlC24!^(AW1U#jFIk`tGS~f4XgX~{hKDhn^QMlr0 diff --git a/Oric-DFLAT/emulator/util/dftxt2tap/dftxt2tap/dftxt2tap.cpp b/Oric-DFLAT/emulator/util/dftxt2tap/dftxt2tap/dftxt2tap.cpp index dee71c9..4912842 100644 --- a/Oric-DFLAT/emulator/util/dftxt2tap/dftxt2tap/dftxt2tap.cpp +++ b/Oric-DFLAT/emulator/util/dftxt2tap/dftxt2tap/dftxt2tap.cpp @@ -8,6 +8,7 @@ #if defined(__linux__) || defined(__APPLE__) #include #include +#define pathchr '/' #define strcpy_s strcpy #define strcat_s strcat #define errno_t int @@ -47,6 +48,8 @@ char* _itoa_s(int value, char* str, int radix) { c = *p, *p = *q, *q = c; return str; } +#else +#define pathchr '\\' #endif FILE *in, *out; @@ -74,8 +77,8 @@ int init(int argc, char *argv[]) } /* Get filename portion of destination, must be <16 chars */ - for (i = strlen(argv[argc-1]); (i > 1) && (argv[argc-1][i] != '\\'); i--); - if (argv[argc-1][i] == '\\') i++; + for (i = strlen(argv[argc-1]); (i > 1) && (argv[argc-1][i] != pathchr); i--); + if (argv[argc-1][i] == pathchr) i++; strcpy_s(fname, &argv[argc-1][i]); if (strlen(fname) > 15) { printf("Destination filename too long.\n"); @@ -99,11 +102,16 @@ void gettxtline() char lineStr[10]; char temp[250]; - do { + while (i 0) line[i++] = 0x0d; line[i] = 0; if ((i > 1) && (lineNo!=0)) { if (atoi(line) == 0) {