[kaffe] kaffe -jar fails when environment variable CLASSPATH is set
Michael Koch
konqueror at gmx.de
Mon Jun 6 22:16:55 PDT 2005
On Tue, Jun 07, 2005 at 01:08:27PM +0900, Ito Kazumitsu wrote:
> > Kaffe invoked with -jar option failes if the environment variable
> fails
> > CLASSPATH is set. Please see the following test case.
>
> How about this?
>
> --- kaffe/kaffe/main.c.orig Tue May 31 06:16:02 2005
> +++ kaffe/kaffe/main.c Tue Jun 7 13:00:52 2005
> @@ -130,6 +130,17 @@
> }
> #endif
> }
> + /* classpath may be changed later, so we copy it to a newly allocated
> + area so that the memory can be freed. */
> + if (cp != NULL) {
> + char* newcp;
> + if ((newcp = malloc(strlen(cp) + 1)) == NULL) {
> + fprintf(stderr, _("Error: out of memory.\n"));
> + exit(1);
> + }
> + strcpy(newcp, cp);
> + cp = newcp;
> + }
> vmargs.classpath = cp;
>
> cp = getenv(LIBRARYPATH1);
> @@ -499,15 +510,17 @@
> + strlen(argv[i])
> + 1;
>
> - /* Get longer buffer FIXME: free the old one */
> + /* Get longer buffer */
> if ((newcpath = malloc(cpathlength)) == NULL) {
> fprintf(stderr, _("Error: out of memory.\n"));
> exit(1);
> }
>
> /* Construct new classpath */
> - if( vmargs.classpath != 0 )
> + if( vmargs.classpath != 0 ) {
> strcpy(newcpath, vmargs.classpath);
> + free(vmargs.classpath);
> + }
> else
> newcpath[0] = '\0';
> strcat(newcpath, path_separator);
>
> _______________________________________________
> kaffe mailing list
> kaffe at kaffe.org
> http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
CLASSPATH and -classpath have to get completely ignored when using -jar.
The only valid CLASSPATH is the Class-Path entry in the manifest of the jar.
Michael
--
Escape the Java Trap with GNU Classpath!
http://www.gnu.org/philosophy/java-trap.html
Join the community at http://planet.classpath.org/
More information about the kaffe
mailing list