OSDN Git Service

PR java/33765:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 2 Nov 2007 20:02:35 +0000 (20:02 +0000)
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 2 Nov 2007 20:02:35 +0000 (20:02 +0000)
* jcf-parse.c (java_parse_file): Ignore ZIPEMPTYMAGIC files.
* zipfile.h (ZIPEMPTYMAGIC): New define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129860 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/java/ChangeLog
gcc/java/jcf-parse.c
gcc/java/zipfile.h

index 587178d..194edc5 100644 (file)
@@ -1,3 +1,9 @@
+2007-11-02  Tom Tromey  <tromey@redhat.com>
+
+       PR java/33765:
+       * jcf-parse.c (java_parse_file): Ignore ZIPEMPTYMAGIC files.
+       * zipfile.h (ZIPEMPTYMAGIC): New define.
+
 2007-11-01  Tom Tromey  <tromey@redhat.com>
 
        * Make-lang.in (java/jcf-dump.o): Depend on zipfile.h.
index a544163..ab2a385 100644 (file)
@@ -1946,6 +1946,10 @@ java_parse_file (int set_yydebug ATTRIBUTE_UNUSED)
 #endif
          parse_zip_file_entries ();
        }
+      else if (magic == (JCF_u4) ZIPEMPTYMAGIC)
+       {
+         /* Ignore an empty input jar.  */
+       }
       else
        {
          gcc_unreachable ();
index 39e3a5f..d78226a 100644 (file)
@@ -58,6 +58,7 @@ extern struct ZipFile *SeenZipFiles;
 #define ZIPDIR_NEXT(ZIPD) \
    ((ZipDirectory*)((char*)(ZIPD)+(ZIPD)->direntry_size))
 #define ZIPMAGIC 0x504b0304    
+#define ZIPEMPTYMAGIC 0x504b0506
 
 extern ZipFile * opendir_in_zip (const char *, int);
 extern int read_zip_archive (ZipFile *);