The way MAXPATHLEN is used in jartool.c is wrong, instead of defining a bogus value on platforms that do not have MAXPATHLEN defined (i.e. GNU) one should try and use getcwd as follows: char *dir = getcwd (NULL, 0); instead of passing a buffer and a size. This will only work on systems that use the GNU C Library.
You should report this to the up stream as GCC just merges with fastjar see the README in fastjar directory.
Subject: Re: fastjar/jartool.c's usage of MAXPATHLEN On Mon, 30 May 2005, pinskia at gcc dot gnu dot org wrote: > You should report this to the up stream as GCC just merges with fastjar see the README in fastjar > directory. As a practical matter fastjar and libffi do not get maintained outside of GCC (whereas zlib does).
Confirmed.
Created attachment 9858 [details] Remoev arbitrary limit. Fixes fastjar. fastjar/ChangeLog 2005-09-16 Alfred M. Szmidt <ams@gnu.org> * jartool.c (MAXPATHLEN) [!MAXPATHLEN]: Removed macro. (get_next_arg): Allocate memory dynamiclly for S. (add_to_jar_with_dir): Allocate memory dynamiclly for OLD_DIR
FastJar has since been removed from GCC's sources
thanks for the patch, I've checked it in at fastjar project on savannah.