Documentation: update java sample wrapper for java 7

The sample wrapper currently fails on some Java 7 .class files.  This
updates the wrapper to properly handle those files.

Signed-off-by: Jonathan Callen <jcallen@gentoo.org>
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Jonathan Callen 2014-05-15 13:54:52 -07:00 committed by Linus Torvalds
parent f9a0974d3f
commit f76f133b0c
1 changed files with 8 additions and 0 deletions

View File

@ -188,6 +188,9 @@ shift
#define CP_METHODREF 10 #define CP_METHODREF 10
#define CP_INTERFACEMETHODREF 11 #define CP_INTERFACEMETHODREF 11
#define CP_NAMEANDTYPE 12 #define CP_NAMEANDTYPE 12
#define CP_METHODHANDLE 15
#define CP_METHODTYPE 16
#define CP_INVOKEDYNAMIC 18
/* Define some commonly used error messages */ /* Define some commonly used error messages */
@ -242,14 +245,19 @@ void skip_constant(FILE *classfile, u_int16_t *cur)
break; break;
case CP_CLASS: case CP_CLASS:
case CP_STRING: case CP_STRING:
case CP_METHODTYPE:
seekerr = fseek(classfile, 2, SEEK_CUR); seekerr = fseek(classfile, 2, SEEK_CUR);
break; break;
case CP_METHODHANDLE:
seekerr = fseek(classfile, 3, SEEK_CUR);
break;
case CP_INTEGER: case CP_INTEGER:
case CP_FLOAT: case CP_FLOAT:
case CP_FIELDREF: case CP_FIELDREF:
case CP_METHODREF: case CP_METHODREF:
case CP_INTERFACEMETHODREF: case CP_INTERFACEMETHODREF:
case CP_NAMEANDTYPE: case CP_NAMEANDTYPE:
case CP_INVOKEDYNAMIC:
seekerr = fseek(classfile, 4, SEEK_CUR); seekerr = fseek(classfile, 4, SEEK_CUR);
break; break;
case CP_LONG: case CP_LONG: