summaryrefslogtreecommitdiffstats
path: root/libjava/classpath/tools/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/tools/gnu')
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/javah/Main.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/libjava/classpath/tools/gnu/classpath/tools/javah/Main.java b/libjava/classpath/tools/gnu/classpath/tools/javah/Main.java
index dfa04c4c9ef..29c96cf5bba 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/javah/Main.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/javah/Main.java
@@ -89,6 +89,9 @@ public class Main
// True if we're emitting CNI code.
boolean cni;
+ // True if we've seen -cni or -jni.
+ boolean cniOrJniSeen;
+
// True if output files should always be written.
boolean force;
@@ -243,8 +246,9 @@ public class Main
{
public void parsed(String arg0) throws OptionException
{
- if (cni)
+ if (cniOrJniSeen && cni)
throw new OptionException("only one of -jni or -cni may be used");
+ cniOrJniSeen = true;
cni = false;
}
});
@@ -252,6 +256,9 @@ public class Main
{
public void parsed(String arg0) throws OptionException
{
+ if (cniOrJniSeen && ! cni)
+ throw new OptionException("only one of -jni or -cni may be used");
+ cniOrJniSeen = true;
cni = true;
}
});
OpenPOWER on IntegriCloud