1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-04 06:45:43 +02:00

Check for NPE is launcher.execute fails

This commit is contained in:
Alain Magloire 2002-12-23 18:55:22 +00:00
parent 8b55c57001
commit 6db02395cd

View file

@ -147,28 +147,31 @@ public class CBuilder extends ACBuilder {
OutputStream stderr = epm.getOutputStream();
Process p = launcher.execute(makepath, userArgs, env, workingDirectory);
try {
// Close the input of the Process explicitely.
// We will never write to it.
p.getOutputStream().close();
} catch (IOException e) {
}
if (launcher.waitAndRead(stdout, stderr, subMonitor) != CommandLauncher.OK)
if (p != null) {
try {
// Close the input of the Process explicitely.
// We will never write to it.
p.getOutputStream().close();
} catch (IOException e) {
}
if (launcher.waitAndRead(stdout, stderr, subMonitor) != CommandLauncher.OK)
errMsg = launcher.getErrorMessage();
isCanceled = monitor.isCanceled();
monitor.setCanceled(false);
subMonitor = new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN);
subMonitor.subTask("Refresh From Local");
try {
currProject.refreshLocal(IResource.DEPTH_INFINITE, subMonitor);
} catch (CoreException e) {
}
subMonitor = new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN);
subMonitor.subTask("Parsing");
} else {
errMsg = launcher.getErrorMessage();
isCanceled = monitor.isCanceled();
monitor.setCanceled(false);
subMonitor = new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN);
subMonitor.subTask("Refresh From Local");
try {
currProject.refreshLocal(IResource.DEPTH_INFINITE, subMonitor);
}
catch (CoreException e) {
}
subMonitor = new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN);
subMonitor.subTask("Parsing");
if (errMsg != null) {
String errorDesc = CCorePlugin.getFormattedString(BUILD_ERROR, makepath.toString());