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; }