diff --git a/uppsrc/Core/LocalProcess.cpp b/uppsrc/Core/LocalProcess.cpp index c2ac28277..a1507868b 100644 --- a/uppsrc/Core/LocalProcess.cpp +++ b/uppsrc/Core/LocalProcess.cpp @@ -449,13 +449,13 @@ bool LocalProcess::Read2(String& reso, String& rese) bool was_running = IsRunning(); char buffer[1024]; dword n; - if(hOutputRead && PeekNamedPipe(hOutputRead, NULL, 0, NULL, &n, NULL) && n) - while(ReadFile(hOutputRead, buffer, sizeof(buffer), &n, NULL) && n) - wreso.Cat(buffer, n); + if(hOutputRead && PeekNamedPipe(hOutputRead, NULL, 0, NULL, &n, NULL) && n && + ReadFile(hOutputRead, buffer, sizeof(buffer), &n, NULL) && n) + reso.Cat(buffer, n); - if(hErrorRead && PeekNamedPipe(hErrorRead, NULL, 0, NULL, &n, NULL) && n) - while(ReadFile(hErrorRead, buffer, sizeof(buffer), &n, NULL) && n) - wrese.Cat(buffer, n); + if(hErrorRead && PeekNamedPipe(hErrorRead, NULL, 0, NULL, &n, NULL) && n && + ReadFile(hErrorRead, buffer, sizeof(buffer), &n, NULL) && n) + rese.Cat(buffer, n); if(convertcharset) { reso = FromOEMCharset(reso); @@ -463,7 +463,6 @@ bool LocalProcess::Read2(String& reso, String& rese) } return reso.GetCount() || rese.GetCount() || was_running; - #endif #ifdef PLATFORM_POSIX String res[2]; diff --git a/uppsrc/ide/Builders/CppBuilder.cpp b/uppsrc/ide/Builders/CppBuilder.cpp index 3181bdf72..08419d477 100644 --- a/uppsrc/ide/Builders/CppBuilder.cpp +++ b/uppsrc/ide/Builders/CppBuilder.cpp @@ -410,7 +410,7 @@ Blitz CppBuilder::BlitzStep(Vector& sfile, Vector& soptions, String ext = ToLower(GetFileExt(fn)); String objfile = CatAnyPath(outdir, GetFileTitle(fn) + objext); Time fntime = GetFileTime(fn); - if((ext == ".cpp" || ext == ".cc" || ext == ".cxx") + if((ext == ".cpp" || ext == ".cc" || ext == ".cxx" || ext == ".icpp") && HdependBlitzApproved(fn) && IsNull(soptions[i]) && !optimize[i] && fntime < BlitzBaseTime() && noblitz.Find(fn) < 0) { diff --git a/uppsrc/ide/Builders/MscBuilder.icpp b/uppsrc/ide/Builders/MscBuilder.icpp index 34c92acff..b00b53936 100644 --- a/uppsrc/ide/Builders/MscBuilder.icpp +++ b/uppsrc/ide/Builders/MscBuilder.icpp @@ -253,7 +253,8 @@ bool MscBuilder::BuildPackage(const String& package, Vector& linkfile, V for(int j = 0; j < srcfile.GetCount(); j++) { String fn = srcfile[j]; String ext = ToLower(GetFileExt(fn)); - if(ext == ".c" || ext == ".cpp" || ext == ".cc" || ext == ".cxx" || ext == ".rc" || ext == ".brc") { + if(findarg(ext, ".c", ".cpp", ".cc", ".cxx", ".rc", ".brc") >= 0 || + (!release && blitz && ext == ".icpp")) { sfile.Add(fn); soptions.Add(gop); optimize.Add(speed);