[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-patch] CBuilder.java fix
|
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/ChangeLog,v
retrieving revision 1.53
diff -u -r1.53 ChangeLog
--- ChangeLog 20 Dec 2002 21:13:14 -0000 1.53
+++ ChangeLog 23 Dec 2002 18:52:52 -0000
@@ -1,3 +1,9 @@
+2002-12-23 Alain Magloire
+
+ * src/org/eclipse/cdt/internal/core/CBuilder.java (invokeMake):
+ NPE check the return of launcher.execute(), the executables
+ may not be found.
+
2002-12-20 Alain Magloire
Bug fix, We use a feature of GNU make to help track the directories
Index: src/org/eclipse/cdt/internal/core/CBuilder.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CBuilder.java,v
retrieving revision 1.16
diff -u -r1.16 CBuilder.java
--- src/org/eclipse/cdt/internal/core/CBuilder.java 13 Dec 2002 15:43:40 -0000 1.16
+++ src/org/eclipse/cdt/internal/core/CBuilder.java 23 Dec 2002 18:52:52 -0000
@@ -147,28 +147,31 @@
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)
- errMsg = launcher.getErrorMessage();
+ 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");
+ 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) {
- }
+ try {
+ currProject.refreshLocal(IResource.DEPTH_INFINITE, subMonitor);
+ } catch (CoreException e) {
+ }
- subMonitor = new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN);
- subMonitor.subTask("Parsing");
+ subMonitor = new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN);
+ subMonitor.subTask("Parsing");
+ } else {
+ errMsg = launcher.getErrorMessage();
+ }
if (errMsg != null) {
String errorDesc = CCorePlugin.getFormattedString(BUILD_ERROR, makepath.toString());