From 29848ec4a039aad3db38697967a29f45aecd5672 Mon Sep 17 00:00:00 2001 From: german Date: Mon, 9 Mar 2026 14:46:39 +0400 Subject: [PATCH] Fixed --- asm-savers.h | 1 - ntsys | Bin 39960 -> 39960 bytes ntsys-assembler.h | 23 +++++++++++++---------- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/asm-savers.h b/asm-savers.h index 78f82b1..1087fb3 100644 --- a/asm-savers.h +++ b/asm-savers.h @@ -402,7 +402,6 @@ int __ntsys_arg_function_loader(ntsys_argument_parser_t* parser) { if (select_argument(parser) == EXIT_FAILURE) return EXIT_FAILURE; } if (parser->is_rewrite == 0) *parser->file_size = ftell(parser->fp) + 1; - fflush(parser->fp); return EXIT_SUCCESS; } diff --git a/ntsys b/ntsys index 58fd453757e0a505b736285cbc4521f99043cc5a..c804488cb82ae7c47117bdbb2d15ada4f1fd948d 100755 GIT binary patch delta 3011 zcmZ8j4Nz3q6@G8w>0*^vl(j@aNPMYajCR$HiGaHLC~x60SyVJNHb#r!jA$4OO=~4f z+(q+v*_6q%32~BGr_F?!bn4Ge2{kET5$Kq4ObKd!j6kCCZk9?xi)e+{@7`U0lAU4i zz2|)AobUYHyVNyW>KZL4tb9y?onxPZKpbCUiJx86dh5~~BfHo2Y|&1XDSxi-i#->3 zIqHE_OUEODcjw(n;**V|t4)5Tan!jW?vF6dlttfc9_xD1ch30SSu=BG6vx?Hf+?nH z*1Ggcjx0A`STk?=U^2%kT0cqbG0o~0(f0+66u*N+#L*G)dtvd%5%Ir`PuHaK9~yVp zI6S-H__T$_+%8tTv2po57W)wSOSfsd^n9zL$x^DbYIH#K%?DIG^k4YGIa>6M0xcf8 zh;N*E(Ki)(>@1?MADH0JMom*pSq(n6U=pLX2TL=JWp82rgO82I&?rcUyK6M8T{!pD zRnt_p8)P$9mtJ92o@m?KYd6UeoP%GzD#!Cj4V#?KA2e3U>7MD}=xjQLngsWZm?m@W zY@z|EEtx@$3aJ8gIA;_64qXSGH&Yp%ZHW_fj!|qnu&CY*$Z1hWz6=+22Mi(pFe3gY zBL2H4EPpQ|zYvjM4vUXO#ElWL2ww0~6A>SahzZbDm0XeNd!O0a$|%6^Xqz)ZPN3xc z_mOPX=xxy#10Z(89?|y=O{{8kP^^9qYQ?`_N@dMtxsscR5!}cWwnbsL&rNcBoT`^Y zjSg6e9VeGwsCZj=&4N+8@ITY6%36`hacJ$Od+@G5Z*9&;z;;2RQsOy&CETUv&5)8~ z>{O|+sqqUlSD+1Aw)=E6l#Gves+DYEQSz+_>7K+in^M_}Ak9{qQ4{?Rt{7z*Tg7Sv zT*ApwML4;cUwUA(Z(K7ThTH{_;I?rEsueNmp$Y|x(?6vC>+U1o0Cvu%0Xjn;jYQJP zhK$T&=~P&oe@agRH9ZVK^B^-Agh65O2n1x;7j(|iL>@P26*yN_S~#)VfgK$~HkITc zK;c;&X7v$v04oH=d-m6@ z>38dNgyOXg;YP zO5DI4P*Uilu@CoF(OR?Zrs^+}+}ZXaRlB2TSEI7$Y$&fb8p z^mvK952qcnw2V4Xuz8$rNH3%asZ`Gb$G32MRR5zZm*Wao;8ii^yNcse?yw75{XAM6 zrcCY|$6RyP_mktFQsZuNgRc61R){S>g4gyjuW;H)?fj4a@-aBwSF8ACX*HcPx1yCw zPf?C;MF&w8g?!fFbCaf*N;@e(dPO-SF?W9alS5$!;sk?*U=aUQ3HnLjkmd-F%a_CF z3t023&GIxwFO^bN?Q5049x0)sXDHAJWEaJHTk-gXD!yf}Ar&Br1mZT%=O$Pzym2Ep z*^|J0b`v*S`-y^;`cD6j@9>0-JOBF9_ndc90dxLO>>BB936_Cv&6UShUhcuq13C;yT)jSxm-ib>q*rCE(fGU_v0Gb2tithMiDcDT|qYi-sfPUa+ z1X5B@vlDJ&t7HfvEH3Sg=xxX2r)ou#l_j9tzM^_>pH&tcq$qofqGwe>f}d&+$E}mK z-fXRB9ddLQkQmU)|HWB6bE#h8b%6M_w6v-=r1-PmL6t}cBH}@zeb@v?wbZqCMv3&3 zG(t`5T=og5`?Fr9CNkaYS;>Ghy)LYzRvAKu2P$Qk%`uDJtF=s=81v`FadEgrUEwxVJxWm1sDPb+YZkpv-rNG}x zHbwKzMqFtg-(~!~G*Q@zAE_SWeCb0|a$^6(M}1_xQ##KweAPHt`V6lG(s$nxc{%W4 z<<@DImOSIYp+)>pjFX49^0E>4QU~80`0S;3`Dr~l;gRi$GHPlL@@0WIy<`UeC*wDD Qi(}-1uucw~tSgE7Kjq#z9smFU delta 3053 zcmZ`)eNYtV8Q(p*cuKeZ!9kS|oyL>f|yQOdzsM3yp_<|fKg(WWk z4K|QPDLff6b~Y*83r?)?v0+H5naIc4k;2m|!_r8xJWbqxZ1&?3Rylor`nyYK&3os% zVJPY?wgPKF+v1QHx4hipG1wl+v8(-t0sqIP+THNstEtWur0_BQY5xrIRehmj1KyT&jjA9IJ@^!D7rs%`T{qgOVo}8t!0A^~9Vp!C92TTKH^qP$doY zKQ`krpT9$@{SiW&MUlcR>H)mRHat;0amsFxLWZLL8S--Q(SR+wW!at~%2ZGqyMg%{ zg57k6>iezivjMV)UszHONnMa)ArKmSxJ3^csF2wTXv%iiRExMzbC7XOwM~#}r(#Ek zke^BRJ+jUw>ppJXN7i{H-{bPAdjzBbC>t2D{(P=S+^28MEz0>R=(4uTU0y1GJ!$H6 zSZuM&q2^c4vTt35McM2Do4eA)hrTtw)xIL%sv=qa3diW9WIFgAY@*?R=0%|jh*Z0Ze#;*s`>UYm46B(ODwCSuOSNbivEUEoIzn`_6F<2{? zkMs?JaXIbq{o(>l?Z{_n>ua!*QgNsJ?o2vF1&UhfUQa;_WDWHyYK6O;#9|VYDbn|G zNd)~uAVu#BOih|;#hE-9XE@>{ZQ6*b(L+&x1+SP^Nv?WX1Tkf`oxM#U|ZW#&bhrm@R)2r4f1mWc#z%Lou>s(`3BQSjySK4#V{jYPtxG?_5)r|I}3mjtE8SroPU8Hw2?z- zY0JQi6+zG2_aBFSrFs|a^JEn2T2v})ar~a}lZB6uOaFV`WZRj`dZMyg%+|}5X~7q~ z;HviJSlB28R@B@4T~X8yekAQvIpHjh(%pIBBwWTL*yg$4YJW5zt-=r153t46sGLsU zJ?UiJywLAN)!7czXRK-wH18!Mqv0ZXy^F@4NV@@YZ^oxS9`!eF^8WZoJq9V za;ypl{8o25rPLZeqDaP1z+)-;p@O-?V+g{&{8YbMFwf~R&3}o5$*Q-W{;s~c}*FUNF zj<`2E-5B(t>TsF=Q|IJBL$iIAqeocYuAs( brf8zJ`DsM?;odnT>IzL=UG)9En}_`y3nx?z diff --git a/ntsys-assembler.h b/ntsys-assembler.h index d7f6e24..d4e1dc0 100644 --- a/ntsys-assembler.h +++ b/ntsys-assembler.h @@ -64,13 +64,6 @@ int ntsys_compile_asm(char* filename, char* asm_out) { ntsys_error("Cannot open assembler file!"); return EXIT_FAILURE; } - FILE* fw = fopen(asm_out, "wb"); - FILE* tmp = tmpfile(); - if (fw == NULL || tmp == NULL) { - ntsys_error("Cannot create or rewrite output file!"); - fclose(fp); - return EXIT_FAILURE; - } char* st = NULL; size_t mem_pos = 0; size_t lb_size = 0; @@ -94,12 +87,17 @@ int ntsys_compile_asm(char* filename, char* asm_out) { rewind(fp); size_t labels_count = 0; dword_t fsz = 0; + FILE* tmp = tmpfile(); + if (tmp == NULL) { + ntsys_error("Cannot create or rewrite output file!"); + fclose(fp); + return EXIT_FAILURE; + } while ((st = ntsys_get_str(st, fp)) != NULL) { if (ntsys_asm_from_string(&mem_pos, st, tmp, 0, labels, labels_pos, &labels_count, &fsz) != EXIT_SUCCESS) { free(st); fclose(fp); fclose(tmp); - fclose(fw); size_t i = 0; while (i < lb_size) { if (labels[i] != NULL) free(labels[i]); @@ -111,12 +109,18 @@ int ntsys_compile_asm(char* filename, char* asm_out) { } } free(st); + fclose(tmp); rewind(fp); + FILE* fw = fopen(asm_out, "wb"); + if (fw == NULL) { + ntsys_error("Cannot create or rewrite output file!"); + fclose(fp); + return EXIT_FAILURE; + } while ((st = ntsys_get_str(st, fp)) != NULL) { if (ntsys_asm_from_string(&mem_pos, st, fw, 1, labels, labels_pos, &labels_count, &fsz) != EXIT_SUCCESS) { free(st); fclose(fp); - fclose(tmp); fclose(fw); size_t i = 0; while (i < lb_size) { @@ -128,7 +132,6 @@ int ntsys_compile_asm(char* filename, char* asm_out) { return EXIT_FAILURE; } } - fclose(tmp); fflush(fw); free(st); fclose(fp);