nsExec small simplification
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6091 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
e041a0a32c
commit
d59234c852
1 changed files with 17 additions and 20 deletions
|
@ -224,7 +224,7 @@ params:
|
||||||
TCHAR *szUnusedBuf = 0;
|
TCHAR *szUnusedBuf = 0;
|
||||||
|
|
||||||
if (log) {
|
if (log) {
|
||||||
hUnusedBuf = GlobalAlloc(GHND, log & 2 ? (g_stringsize*sizeof(TCHAR)) : sizeof(szBuf)*4);
|
hUnusedBuf = GlobalAlloc(GHND, log & 2 ? (g_stringsize*sizeof(TCHAR)) : sizeof(szBuf)*4); // Note: will not grow if (log & 2)
|
||||||
if (!hUnusedBuf) {
|
if (!hUnusedBuf) {
|
||||||
lstrcpy(szRet, _T("error"));
|
lstrcpy(szRet, _T("error"));
|
||||||
goto done;
|
goto done;
|
||||||
|
@ -269,28 +269,25 @@ params:
|
||||||
if (dwRead) {
|
if (dwRead) {
|
||||||
dwLastOutput = GetTickCount();
|
dwLastOutput = GetTickCount();
|
||||||
ReadFile(read_stdout, szBuf, sizeof(szBuf)-1, &dwRead, NULL);
|
ReadFile(read_stdout, szBuf, sizeof(szBuf)-1, &dwRead, NULL);
|
||||||
szBuf[dwRead] = 0;
|
szBuf[dwRead] = '\0';
|
||||||
if (log) {
|
if (log) {
|
||||||
TCHAR *p, *p2;
|
if (log & 2) {
|
||||||
SIZE_T iReqLen = lstrlen(szBuf) + lstrlen(szUnusedBuf) + 1;
|
lstrcpyn(szUnusedBuf + lstrlen(szUnusedBuf), szBuf, g_stringsize - lstrlen(szUnusedBuf));
|
||||||
if (GlobalSize(hUnusedBuf) < iReqLen*sizeof(TCHAR) && (iReqLen < g_stringsize || !(log & 2))) {
|
|
||||||
GlobalUnlock(hUnusedBuf);
|
|
||||||
hUnusedBuf = GlobalReAlloc(hUnusedBuf, iReqLen*sizeof(TCHAR)+sizeof(szBuf), GHND);
|
|
||||||
if (!hUnusedBuf) {
|
|
||||||
lstrcpy(szRet, _T("error"));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
szUnusedBuf = (TCHAR *)GlobalLock(hUnusedBuf);
|
|
||||||
}
|
|
||||||
p = szUnusedBuf; // get the old left overs
|
|
||||||
if (iReqLen < g_stringsize || !(log & 2)) {
|
|
||||||
lstrcat(p, szBuf);
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
lstrcpyn(p + lstrlen(p), szBuf, g_stringsize - lstrlen(p));
|
TCHAR *p, *p2;
|
||||||
}
|
SIZE_T iReqLen = lstrlen(szBuf) + lstrlen(szUnusedBuf) + 1;
|
||||||
|
if (GlobalSize(hUnusedBuf) < iReqLen*sizeof(TCHAR)) {
|
||||||
if (!(log & 2)) {
|
GlobalUnlock(hUnusedBuf);
|
||||||
|
hUnusedBuf = GlobalReAlloc(hUnusedBuf, iReqLen*sizeof(TCHAR)+sizeof(szBuf), GHND);
|
||||||
|
if (!hUnusedBuf) {
|
||||||
|
lstrcpy(szRet, _T("error"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
szUnusedBuf = (TCHAR *)GlobalLock(hUnusedBuf);
|
||||||
|
}
|
||||||
|
p = szUnusedBuf; // get the old left overs
|
||||||
|
lstrcat(p, szBuf);
|
||||||
while ((p = my_strstr(p, _T("\t")))) {
|
while ((p = my_strstr(p, _T("\t")))) {
|
||||||
if ((int)(p - szUnusedBuf) > (int)(GlobalSize(hUnusedBuf)/sizeof(TCHAR) - TAB_REPLACE_SIZE - 1))
|
if ((int)(p - szUnusedBuf) > (int)(GlobalSize(hUnusedBuf)/sizeof(TCHAR) - TAB_REPLACE_SIZE - 1))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue