aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/gjavah.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@cygnus.com>1999-02-26 11:33:53 +0000
committerTom Tromey <tromey@gcc.gnu.org>1999-02-26 11:33:53 +0000
commitf3d50f4227003ecc718cd59376bacfade9dd2c46 (patch)
tree4b72101afc73df1a9db43baf2b52c9aeff1fd932 /gcc/java/gjavah.c
parent7c11f9d50f0c473df812264626f24a20b0138bcd (diff)
downloadgcc-f3d50f4227003ecc718cd59376bacfade9dd2c46.zip
gcc-f3d50f4227003ecc718cd59376bacfade9dd2c46.tar.gz
gcc-f3d50f4227003ecc718cd59376bacfade9dd2c46.tar.bz2
gjavah.c (add_namelet): Check for standard package names here.
* gjavah.c (add_namelet): Check for standard package names here. (add_class_decl): Don't check for standard package names here. From-SVN: r25456
Diffstat (limited to 'gcc/java/gjavah.c')
-rw-r--r--gcc/java/gjavah.c31
1 files changed, 17 insertions, 14 deletions
diff --git a/gcc/java/gjavah.c b/gcc/java/gjavah.c
index 986ed1f..0733373 100644
--- a/gcc/java/gjavah.c
+++ b/gcc/java/gjavah.c
@@ -865,6 +865,23 @@ add_namelet (name, name_limit, parent)
unsigned char *p;
struct namelet *n = NULL, *np;
+ /* We want to skip the standard namespaces that we assume the
+ runtime already knows about. We only do this at the top level,
+ though, hence the check for `root'. */
+ if (parent == &root)
+ {
+#define JAVALANG "java/lang/"
+#define JAVAIO "java/io/"
+#define JAVAUTIL "java/util/"
+ if ((name_limit - name >= sizeof (JAVALANG) - 1
+ && ! strncmp (name, JAVALANG, sizeof (JAVALANG) - 1))
+ || (name_limit - name >= sizeof (JAVAUTIL) - 1
+ && ! strncmp (name, JAVAUTIL, sizeof (JAVAUTIL) - 1))
+ || (name_limit - name >= sizeof (JAVAIO) - 1
+ && ! strncmp (name, JAVAIO, sizeof (JAVAIO) - 1)))
+ return;
+ }
+
for (p = name; p < name_limit && *p != '/' && *p != '$'; ++p)
;
@@ -978,20 +995,6 @@ add_class_decl (out, jcf, signature)
}
}
-#define JAVALANG "java/lang/"
-#define JAVAIO "java/io/"
-#define JAVAUTIL "java/util/"
- if ((i - start >= sizeof (JAVALANG) - 1
- && ! strncmp (&s[start], JAVALANG, sizeof (JAVALANG) - 1))
- || (i - start >= sizeof (JAVAUTIL) - 1
- && ! strncmp (&s[start], JAVAUTIL, sizeof (JAVAUTIL) - 1))
- || (i - start >= sizeof (JAVAIO) - 1
- && ! strncmp (&s[start], JAVAIO, sizeof (JAVAIO) - 1)))
- {
- /* Skip all the standard `java.' classes. */
- continue;
- }
-
add_namelet (&s[start], &s[i], &root);
}
}