diff --git a/src/main/org/apache/tools/ant/taskdefs/Exec.java b/src/main/org/apache/tools/ant/taskdefs/Exec.java
index 4793c6449..b34447ad4 100644
--- a/src/main/org/apache/tools/ant/taskdefs/Exec.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Exec.java
@@ -76,7 +76,9 @@ public class Exec extends Task {
run(command);
}
- protected void run(String command) throws BuildException {
+ protected int run(String command) throws BuildException {
+
+ int err = -1; // assume the worst
// test if os match
String myos = System.getProperty("os.name");
@@ -84,7 +86,7 @@ public class Exec extends Task {
if ((os != null) && (os.indexOf(myos) < 0)){
// this command will be executed only on the specified OS
project.log("Not found in " + os, Project.MSG_VERBOSE);
- return;
+ return 0;
}
if (myos.toLowerCase().indexOf("windows") >= 0) {
@@ -131,13 +133,15 @@ public class Exec extends Task {
if (fos != null) fos.close();
// check its exit value
- int err = proc.exitValue();
+ err = proc.exitValue();
if (err != 0) {
project.log("Result: " + err, "exec", Project.MSG_ERR);
}
} catch (IOException ioe) {
throw new BuildException("Error exec: " + command );
} catch (InterruptedException ex) {}
+
+ return err;
}
public void setDir(String d) {
diff --git a/src/main/org/apache/tools/ant/taskdefs/Javadoc.java b/src/main/org/apache/tools/ant/taskdefs/Javadoc.java
index 3241079e8..60b5955e7 100644
--- a/src/main/org/apache/tools/ant/taskdefs/Javadoc.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Javadoc.java
@@ -74,7 +74,7 @@ import java.util.*;
* System.exit() that would break Ant functionality.
*
* @author Jon S. Stevens jon@clearink.com
- * @author Stefano Mazzocchi stefano@apache.org
+ * @author Stefano Mazzocchi stefano@apache.org
*/
public class Javadoc extends Exec {
@@ -571,9 +571,9 @@ public class Javadoc extends Exec {
if (c == '/') {
c = in.read();
if (c == '/') {
- while (c != '\n') c = in.read();
+ while (c != '\n' && c != -1) c = in.read();
} else if (c == '*') {
- while (true) {
+ while (c != -1) {
c = in.read();
if (c == '*') {
c = in.read();
@@ -586,10 +586,11 @@ public class Javadoc extends Exec {
}
}
if (c == '"') {
- while (true) {
+ while (c != -1) {
c = in.read();
- if (c == '\\') c = in.read();
- if (c == '"') {
+ if (c == '\\') {
+ c = in.read();
+ } else if (c == '"') {
c = read();
break;
}