From bf197d80e59f56ad85e8b7fc566451658c888ed3 Mon Sep 17 00:00:00 2001 From: kichik Date: Fri, 8 Aug 2003 13:39:39 +0000 Subject: [PATCH] - Empty lines were not printed - CR or LF alone were not handled - Tab conversion removed the next char git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2793 212acab6-be3b-0410-9dea-997c60f758d6 --- Contrib/nsExec/nsexec.c | 30 ++++++++++++++++++------------ Plugins/nsExec.dll | Bin 6144 -> 6144 bytes 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/Contrib/nsExec/nsexec.c b/Contrib/nsExec/nsexec.c index 54779de7..48b472ce 100644 --- a/Contrib/nsExec/nsexec.c +++ b/Contrib/nsExec/nsexec.c @@ -197,7 +197,7 @@ void ExecScript(int log) { ReadFile(read_stdout, szBuf, sizeof(szBuf)-1, &dwRead, NULL); szBuf[dwRead] = 0; if (log) { - char *p, *lineBreak; + char *p, *p2; SIZE_T iReqLen = lstrlen(szBuf) + lstrlen(szUnusedBuf); if (GlobalSize(hUnusedBuf) < iReqLen && (iReqLen < g_stringsize || !(log & 2))) { GlobalUnlock(hUnusedBuf); @@ -215,13 +215,11 @@ void ExecScript(int log) { } if (!(log & 2)) { - while ( p = my_strstr(p, "\t") ) - { + while (p = my_strstr(p, "\t")) { int len = lstrlen(p); - char *c_out=(char*)p+TAB_REPLACE_SIZE+(len-1); - char *c_in=(char *)p+1+(len-1); - while (len-- > 0) - { + char *c_out=(char*)p+TAB_REPLACE_SIZE+len; + char *c_in=(char *)p+len; + while (len-- > 0) { *c_out--=*c_in--; } @@ -231,10 +229,18 @@ void ExecScript(int log) { } p = szUnusedBuf; // get the old left overs - while (lineBreak = my_strstr(p, "\r\n")) { - *lineBreak = 0; - LogMessage(p); - p = lineBreak + 2; + for (p2 = p; *p2; p2++) { + if (*p == '\r' || *p == '\n') + p++; + if (*p2 == '\r') { + *p2 = 0; + continue; + } + if (*p2 == '\n') { + *p2 = 0; + LogMessage(p); + p = p2 + 1; + } } // If data was taken out from the unused buffer, move p contents to the start of szUnusedBuf @@ -284,7 +290,7 @@ void LogMessage(const char *pStr) { LVITEM item={0}; int nItemCount; if (!g_hwndList) return; - if (!lstrlen(pStr)) return; + //if (!lstrlen(pStr)) return; nItemCount=SendMessage(g_hwndList, LVM_GETITEMCOUNT, 0, 0); item.mask=LVIF_TEXT; item.pszText=(char *)pStr; diff --git a/Plugins/nsExec.dll b/Plugins/nsExec.dll index 17c843853645a1410409431a520fe70d74fce48e..93225b7f3d13ba11ffd44693877c779891cb1ff4 100644 GIT binary patch delta 1763 zcmb7Ee@qis9Dmmqq_xnh9HN1>8q73qOYQxjU11rHLo}j?CtxGpTm)7t6NJ0DEn%<# zTaU{{-I-07Eg8XObC^YkS!Ns=5hf&NOUw+gj5xCK$2sc8CS#a&zJ2d#+#mk6OTO>k z_t)pW&-eS@>+p5>PE17mAPKthumtZk5Ip4 z1Z~E)A;$=cmV=d#dobAuQ37OYp0vG0ohGIgwgN0l*@8RqjF!*pN{wA*I+rfvL<*&RXTjq{`hCc$J$5(RsOT z3X|m!&^;vXR!t6&-T{W#!YFr|0G17M-?T_Xe4a8&sthYM$mMpsuQ0AnesFdM;z$IVb>5szbO z(YlDq0)P^m~N_X2C$#ix6SqD;|N7Hzr14NiQe2@_C1-7M%hr+};>lrYA-)!FfXXF+-v}n% zu=`XmTwUdGkREEoZ7*1Z<^>aJOx79=R5Fcwp;XOSZ-lPCb z;DtNl*g@oKmmLLL)wU_PLwEaojmIT4ES6U*%xTDmSIFiz?&r8tks)(aDmOXGO#%zV z3(;lZkt-6IF_N?=maiu^4pc5LCIIuev(|3Z->i=|@BH(vEa&5w)*&UP)M~-3;s2Sj$(I6A-2_v+{=f=XPWBj`Ie@G^{uU%?&@${ zwl=nkEeD%lDH&*Re@YmS{=n*$cZhuP(2Mm=l8C&i5BMQFNPSC7Q_H}H>?z`;&z1&s zlSoU?+10+VWraWAf5v~#f5m^@|D!+Q&!irqwop}6Ep?b`q1vcE>N9GD`iA-E0-RpFPaJ%4+PHP3&2AfW5+wvEQ<{*q_-1>nvPdSW;M3_(I`3fe!;C SfnNibpd*+U95`yR5&r_3<`3)4qYrPO{}~=cWdwu{<6vQ-upby z?|I&Pe$R7n`#gP~6BAbJndR^N@}30|+5roteL^fI>a-t-H;5er8!g)`8^5q1bap$9 zoPl6lq&At*?_(@bX?5@xY{E7Ip=@e*>Qgnr|AR4)nVkT|r07OYW#%03K~A;VL#W>} zFKRbzPq++Fcr#e}WGyDU02P2pt+uF@*rJI=jj~0CllCJNuAv9`hSOUR8oi9R2NTdbPrM8su`sbhqFBl2+ z)c_L&Gmo#@5r55!P{c{41$D4%2gZ0b5r(xHK`!p99Uj?~8oibbT}q{(?&#$d{GeiE zKP-pRkp|GIS(B4?;H1SLDjiLzlRVTf zb9vQ7gT5K`{=p6iwMcH2yA%W)GB^qp6dNe8mAPvfs~ozfa#sVq%1wbx^RhI7$qfKV zq#f}dI6yV)fE0aTjLeR5rwHiQ?wA}pjmgzulex1BHzji)%G^bjOY?<*Kp^4_1_GEd zhz?+KMImP`*<=ZL$EZID?IOFcqW zAoU;~kQE>sK-x8b<Jy4RkcVB0>B%*oc2)PSCFr%`8y7`kt5!4R< z5yh?-Vt+nU?sa)jde3{m^bUI`yuW#ismG|NsBM%$?V(ia4D}iH6*WZtNc~Ld)L)d9 zCh5hrhh9fNPrpRJN=N8}^au1u^ksU4zDZXxk1}qCW>zsR49|p^w-|*v$y{NsGB=q! zjD=mqE@hu)8J1&P*?nv;d-zFKW#47bvlrQ~*+F)Mz0PLY`)ozy;>PD1`NlrqG2dn1 QxG&?&`ilGm2P_uiU$R)0PXGV_