PatchSet 4702 
Date: 2004/04/27 16:14:21
Author: dalibor
Branch: HEAD
Tag: (none) 
Log:
Moved class file reading functions into their own C file

2004-04-27  Dalibor Topic  <[EMAIL PROTECTED]>

        * kaffe/kaffevm/file.c:
        New file.

        * kaffe/kaffeh/Makefile.am:
        (GEN_SOURCES) Added file.c.

        * kaffe/kaffeh/Makefile.in:
        Regenerated.

        * kaffe/kaffevm/Makefile.am:
        (libkaffevm_la_SOURCES) Added file.c.

        * kaffe/kaffevm/Makefile.in:
        Regenerated.

        * kaffe/kaffevm/file.h:
        Moved implementation to file.c

Members: 
        ChangeLog:1.2278->1.2279 
        kaffe/kaffeh/Makefile.am:1.14->1.15 
        kaffe/kaffeh/Makefile.in:1.106->1.107 
        kaffe/kaffevm/Makefile.am:1.56->1.57 
        kaffe/kaffevm/Makefile.in:1.147->1.148 
        kaffe/kaffevm/file.c:INITIAL->1.1 
        kaffe/kaffevm/file.h:1.7->1.8 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.2278 kaffe/ChangeLog:1.2279
--- kaffe/ChangeLog:1.2278      Tue Apr 27 10:53:44 2004
+++ kaffe/ChangeLog     Tue Apr 27 16:14:21 2004
@@ -1,5 +1,25 @@
 2004-04-27  Dalibor Topic  <[EMAIL PROTECTED]>
 
+       * kaffe/kaffevm/file.c:
+       New file.
+
+       * kaffe/kaffeh/Makefile.am:
+       (GEN_SOURCES) Added file.c.
+
+        * kaffe/kaffeh/Makefile.in:
+       Regenerated.
+
+        * kaffe/kaffevm/Makefile.am:
+       (libkaffevm_la_SOURCES) Added file.c.
+
+        * kaffe/kaffevm/Makefile.in:
+       Regenerated.
+
+        * kaffe/kaffevm/file.h:
+       Moved implementation to file.c
+
+2004-04-27  Dalibor Topic  <[EMAIL PROTECTED]>
+
        * config/i386/beos/md.h,
         config/i386/bsdi/md.h,
         config/i386/dgux/md.h,
Index: kaffe/kaffe/kaffeh/Makefile.am
diff -u kaffe/kaffe/kaffeh/Makefile.am:1.14 kaffe/kaffe/kaffeh/Makefile.am:1.15
--- kaffe/kaffe/kaffeh/Makefile.am:1.14 Thu Jul 31 22:46:45 2003
+++ kaffe/kaffe/kaffeh/Makefile.am      Tue Apr 27 16:14:23 2004
@@ -10,15 +10,27 @@
 
 bin_PROGRAMS = kaffeh
 
-GEN_SRCS = inflate.c jar.c utf8const.c readClass.c constants.c debug.c
+GEN_SRCS = \
+       constants.c \
+       debug.c \
+       file.c \
+       inflate.c \
+       jar.c \
+       readClass.c \
+       utf8const.c
 
 DISTCLEANFILES = $(GEN_SRCS)
 
-kaffeh_SOURCES = sigs.c support.c main.c mem.c
+kaffeh_SOURCES = \
+       main.c \
+       mem.c \
+       sigs.c \
+       support.c
 
 nodist_kaffeh_SOURCES = $(GEN_SRCS)
 
-noinst_HEADERS = kaffeh-support.h \
+noinst_HEADERS = \
+       kaffeh-support.h \
        java_lang_ClassLoader.h \
        java_lang_Object.h \
        java_lang_String.h
Index: kaffe/kaffe/kaffeh/Makefile.in
diff -u kaffe/kaffe/kaffeh/Makefile.in:1.106 kaffe/kaffe/kaffeh/Makefile.in:1.107
--- kaffe/kaffe/kaffeh/Makefile.in:1.106        Mon Apr 26 16:47:56 2004
+++ kaffe/kaffe/kaffeh/Makefile.in      Tue Apr 27 16:14:23 2004
@@ -73,10 +73,11 @@
 am__installdirs = "$(DESTDIR)$(bindir)"
 binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 PROGRAMS = $(bin_PROGRAMS)
-am_kaffeh_OBJECTS = sigs.$(OBJEXT) support.$(OBJEXT) main.$(OBJEXT) \
-       mem.$(OBJEXT)
-am__objects_1 = inflate.$(OBJEXT) jar.$(OBJEXT) utf8const.$(OBJEXT) \
-       readClass.$(OBJEXT) constants.$(OBJEXT) debug.$(OBJEXT)
+am_kaffeh_OBJECTS = main.$(OBJEXT) mem.$(OBJEXT) sigs.$(OBJEXT) \
+       support.$(OBJEXT)
+am__objects_1 = constants.$(OBJEXT) debug.$(OBJEXT) file.$(OBJEXT) \
+       inflate.$(OBJEXT) jar.$(OBJEXT) readClass.$(OBJEXT) \
+       utf8const.$(OBJEXT)
 nodist_kaffeh_OBJECTS = $(am__objects_1)
 kaffeh_OBJECTS = $(am_kaffeh_OBJECTS) $(nodist_kaffeh_OBJECTS)
 kaffeh_LDADD = $(LDADD)
@@ -84,10 +85,11 @@
 depcomp = $(SHELL) $(top_srcdir)/scripts/depcomp
 am__depfiles_maybe = depfiles
 @[EMAIL PROTECTED] = ./$(DEPDIR)/constants.Po ./$(DEPDIR)/debug.Po \
[EMAIL PROTECTED]@      ./$(DEPDIR)/inflate.Po ./$(DEPDIR)/jar.Po \
[EMAIL PROTECTED]@      ./$(DEPDIR)/main.Po ./$(DEPDIR)/mem.Po \
[EMAIL PROTECTED]@      ./$(DEPDIR)/readClass.Po ./$(DEPDIR)/sigs.Po \
[EMAIL PROTECTED]@      ./$(DEPDIR)/support.Po ./$(DEPDIR)/utf8const.Po
[EMAIL PROTECTED]@      ./$(DEPDIR)/file.Po ./$(DEPDIR)/inflate.Po \
[EMAIL PROTECTED]@      ./$(DEPDIR)/jar.Po ./$(DEPDIR)/main.Po \
[EMAIL PROTECTED]@      ./$(DEPDIR)/mem.Po ./$(DEPDIR)/readClass.Po \
[EMAIL PROTECTED]@      ./$(DEPDIR)/sigs.Po ./$(DEPDIR)/support.Po \
[EMAIL PROTECTED]@      ./$(DEPDIR)/utf8const.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
@@ -341,11 +343,25 @@
 toolslibdir = @toolslibdir@
 with_engine = @with_engine@
 AM_CPPFLAGS = -I../kaffevm -I$(srcdir)/../kaffevm -DKAFFEH -I$(top_builddir)/include
-GEN_SRCS = inflate.c jar.c utf8const.c readClass.c constants.c debug.c
+GEN_SRCS = \
+       constants.c \
+       debug.c \
+       file.c \
+       inflate.c \
+       jar.c \
+       readClass.c \
+       utf8const.c
+
 DISTCLEANFILES = $(GEN_SRCS)
-kaffeh_SOURCES = sigs.c support.c main.c mem.c
+kaffeh_SOURCES = \
+       main.c \
+       mem.c \
+       sigs.c \
+       support.c
+
 nodist_kaffeh_SOURCES = $(GEN_SRCS)
-noinst_HEADERS = kaffeh-support.h \
+noinst_HEADERS = \
+       kaffeh-support.h \
        java_lang_ClassLoader.h \
        java_lang_Object.h \
        java_lang_String.h
@@ -423,6 +439,7 @@
 
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
[EMAIL PROTECTED]@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
Index: kaffe/kaffe/kaffevm/Makefile.am
diff -u kaffe/kaffe/kaffevm/Makefile.am:1.56 kaffe/kaffe/kaffevm/Makefile.am:1.57
--- kaffe/kaffe/kaffevm/Makefile.am:1.56        Mon Mar 29 21:31:27 2004
+++ kaffe/kaffe/kaffevm/Makefile.am     Tue Apr 27 16:14:23 2004
@@ -69,6 +69,7 @@
        debug.c \
        exception.c \
        external.c \
+       file.c \
        findInJar.c \
        fp.c \
        gc.c \
Index: kaffe/kaffe/kaffevm/Makefile.in
diff -u kaffe/kaffe/kaffevm/Makefile.in:1.147 kaffe/kaffe/kaffevm/Makefile.in:1.148
--- kaffe/kaffe/kaffevm/Makefile.in:1.147       Mon Apr 26 16:47:57 2004
+++ kaffe/kaffe/kaffevm/Makefile.in     Tue Apr 27 16:14:23 2004
@@ -78,12 +78,12 @@
        $(am__DEPENDENCIES_2) systems/$(THREAD_SYSTEM)/libkthread.la
 am_libkaffevm_la_OBJECTS = access.lo baseClasses.lo classMethod.lo \
        classPool.lo methodCache.lo code-analyse.lo code.lo \
-       constants.lo debug.lo exception.lo external.lo findInJar.lo \
-       fp.lo gc.lo hashtab.lo inflate.lo itypes.lo jar.lo jni.lo \
-       ksem.lo locks.lo lookup.lo object.lo readClass.lo sha-1.lo \
-       soft.lo stackTrace.lo stats.lo string.lo stringParsing.lo \
-       support.lo thread.lo utf8const.lo gcFuncs.lo gcRefs.lo \
-       verify.lo verify2.lo verify-block.lo verify-debug.lo \
+       constants.lo debug.lo exception.lo external.lo file.lo \
+       findInJar.lo fp.lo gc.lo hashtab.lo inflate.lo itypes.lo \
+       jar.lo jni.lo ksem.lo locks.lo lookup.lo object.lo \
+       readClass.lo sha-1.lo soft.lo stackTrace.lo stats.lo string.lo \
+       stringParsing.lo support.lo thread.lo utf8const.lo gcFuncs.lo \
+       gcRefs.lo verify.lo verify2.lo verify-block.lo verify-debug.lo \
        verify-sigstack.lo verify-type.lo verify-uninit.lo
 am__objects_1 = gc-mem.lo md.lo
 nodist_libkaffevm_la_OBJECTS = $(am__objects_1)
@@ -99,18 +99,18 @@
 @AMDEP_TRUE@   ./$(DEPDIR)/code-analyse.Plo ./$(DEPDIR)/code.Plo \
 @AMDEP_TRUE@   ./$(DEPDIR)/constants.Plo ./$(DEPDIR)/debug.Plo \
 @AMDEP_TRUE@   ./$(DEPDIR)/exception.Plo ./$(DEPDIR)/external.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/findInJar.Plo ./$(DEPDIR)/fp.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/gc-mem.Plo ./$(DEPDIR)/gc.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/gcFuncs.Plo ./$(DEPDIR)/gcRefs.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/hashtab.Plo ./$(DEPDIR)/inflate.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/itypes.Plo ./$(DEPDIR)/jar.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/jni.Plo ./$(DEPDIR)/ksem.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/locks.Plo ./$(DEPDIR)/lookup.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/md.Plo ./$(DEPDIR)/methodCache.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/object.Plo ./$(DEPDIR)/readClass.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/sha-1.Plo ./$(DEPDIR)/soft.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/stackTrace.Plo ./$(DEPDIR)/stats.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/string.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/file.Plo ./$(DEPDIR)/findInJar.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/fp.Plo ./$(DEPDIR)/gc-mem.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/gc.Plo ./$(DEPDIR)/gcFuncs.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/gcRefs.Plo ./$(DEPDIR)/hashtab.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/inflate.Plo ./$(DEPDIR)/itypes.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/jar.Plo ./$(DEPDIR)/jni.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/ksem.Plo ./$(DEPDIR)/locks.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/lookup.Plo ./$(DEPDIR)/md.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/methodCache.Plo ./$(DEPDIR)/object.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/readClass.Plo ./$(DEPDIR)/sha-1.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/soft.Plo ./$(DEPDIR)/stackTrace.Plo \
[EMAIL PROTECTED]@      ./$(DEPDIR)/stats.Plo ./$(DEPDIR)/string.Plo \
 @AMDEP_TRUE@   ./$(DEPDIR)/stringParsing.Plo \
 @AMDEP_TRUE@   ./$(DEPDIR)/support.Plo ./$(DEPDIR)/thread.Plo \
 @AMDEP_TRUE@   ./$(DEPDIR)/utf8const.Plo \
@@ -429,6 +429,7 @@
        debug.c \
        exception.c \
        external.c \
+       file.c \
        findInJar.c \
        fp.c \
        gc.c \
@@ -590,6 +591,7 @@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
[EMAIL PROTECTED]@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@
===================================================================
Checking out kaffe/kaffe/kaffevm/file.c
RCS:  /home/cvs/kaffe/kaffe/kaffe/kaffevm/file.c,v
VERS: 1.1
***************
--- /dev/null   Sun Aug  4 19:57:58 2002
+++ kaffe/kaffe/kaffevm/file.c  Tue Apr 27 16:20:31 2004
@@ -0,0 +1,129 @@
+/*
+ * file.c
+ * File support routines.
+ *
+ * Copyright (c) 1996, 1997
+ *     Transvirtual Technologies, Inc.  All rights reserved.
+ *
+ * Copyright (c) 2004
+ *     Kaffe.org contributors. See ChangeLog for details. All rights reserved.
+ *
+ * See the file "license.terms" for information on usage and redistribution 
+ * of this file. 
+ */
+
+/*
+ * Used in kaffeh and kaffevm
+ *
+ * XXX rename to classFileHandle.h ?
+ */
+#include "config.h"
+#include "config-std.h"
+#include "gtypes.h"
+#include "errors.h"
+#include "file.h"
+
+/*
+ * Init a a classFile struct to point to the given buffer.
+ */
+void 
+classFileInit(classFile* cf, const unsigned char* buf, size_t len, ClassFileType cft)
+{
+       assert (((buf == NULL) && (len == 0))
+                || ((buf != NULL) && (len != 0)));
+
+       cf->base = cf->cur = buf;
+       cf->size = len;
+       cf->type = cft;
+}
+
+/*
+ * Check that the needed number of bytes are available.  If
+ * not a ClassFormatError is posted in einfo.
+ */
+bool 
+checkBufSize(classFile* cf, u4 need, const char* cfname, errorInfo* einfo)
+{
+       assert(cf != NULL);
+       assert(cf->type != CP_INVALID);
+       
+       if ((unsigned)(cf->base + cf->size - cf->cur) < need)
+       {
+               if (cfname != NULL)
+                       postExceptionMessage(einfo,
+                                            JAVA_LANG(ClassFormatError),
+                                            "%s class file truncated",
+                                            cfname);
+               else
+                       postExceptionMessage(einfo,
+                                            JAVA_LANG(ClassFormatError),
+                                            "Truncated class file");
+                       
+               return false;
+       }
+
+       return true;
+}
+
+/* Read a single unsigned byte from cf */
+void 
+readu1(u1* c, classFile* cf)
+{
+       assert(c != NULL);
+       assert(cf != NULL);
+       assert(cf->type != CP_INVALID);
+
+       *c = cf->cur[0];
+       cf->cur += 1;
+}
+
+/* Read a pair of unsigned bytes from cf */
+void 
+readu2(u2* c, classFile* cf)
+{
+       assert(c != NULL);
+       assert(cf != NULL);
+       assert(cf->type != CP_INVALID);
+
+       *c = (((u2) cf->cur[0]) << 8) | ((u2) cf->cur[1]);
+       cf->cur += 2;
+}
+
+/* Read a four-byte unsigned word of unsigned bytes from cf */
+void 
+readu4(u4* c, classFile* cf)
+{
+       assert(c != NULL);
+       assert(cf != NULL);
+       assert(cf->type != CP_INVALID);
+
+       *c = (((u4) cf->cur[0]) << 24)
+               | (((u4) cf->cur[1]) << 16)
+               | (((u4) cf->cur[2]) << 8)
+               | ((u4) cf->cur[3]);
+       cf->cur += 4;
+}
+
+/**
+ * Read len*size bytes out of the classfile, and into dest.
+ */
+void
+readm(void* dest, size_t len, size_t size, classFile* cf)
+{
+       assert(dest != NULL);
+       assert(cf != NULL);
+       assert(cf->type != CP_INVALID);
+
+       memcpy(dest, cf->cur, len*size);
+       cf->cur += len*size;
+}
+
+/* Skip over an arbitrary chunk of cf */
+void
+seekm(classFile* cf, size_t len)
+{
+       assert(cf != NULL);
+       assert(cf->type != CP_INVALID);
+
+       cf->cur += len;
+}
Index: kaffe/kaffe/kaffevm/file.h
diff -u kaffe/kaffe/kaffevm/file.h:1.7 kaffe/kaffe/kaffevm/file.h:1.8
--- kaffe/kaffe/kaffevm/file.h:1.7      Sun Apr 18 13:57:26 2004
+++ kaffe/kaffe/kaffevm/file.h  Tue Apr 27 16:14:24 2004
@@ -40,121 +40,39 @@
 /*
  * Init a a classFile struct to point to the given buffer.
  */
-static inline void classFileInit(classFile* cf,
-                                const unsigned char* buf,
-                                size_t len,
-                                ClassFileType cft) __UNUSED__;
+extern void classFileInit(classFile* cf,
+                         const unsigned char* buf,
+                         size_t len,
+                         ClassFileType cft);
 /*
  * Check that the needed number of bytes are available.  If
  * not a ClassFormatError is posted in einfo.
  */
-static inline bool checkBufSize(classFile* cf, u4 need,
-                               const char* cfname,
-                               errorInfo* einfo) __UNUSED__;
-/* Read a single unsigned byte from cf */
-static inline void readu1(u1* c, classFile* cf) __UNUSED__;
-/* Read a pair of unsigned bytes from cf */
-static inline void readu2(u2* c, classFile* cf) __UNUSED__;
-/* Read a four-byte unsigned word from cf */
-static inline void readu4(u4* c, classFile* cf) __UNUSED__;
-/* Read an arbitrary chunk from cf */
-static inline void readm(void* dest, size_t len,
-                        size_t size, classFile* cf) __UNUSED__;
-/* Skip over an arbitrary chunk of cf */
-static inline void seekm(classFile*cf, size_t len) __UNUSED__;
-
-static inline void 
-classFileInit(classFile* cf, const unsigned char* buf, size_t len, ClassFileType cft)
-{
-       assert (((buf == NULL) && (len == 0))
-                || ((buf != NULL) && (len != 0)));
-
-       cf->base = cf->cur = buf;
-       cf->size = len;
-       cf->type = cft;
-}
-
-static inline bool 
-checkBufSize(classFile* cf, u4 need, const char* cfname, errorInfo* einfo)
-{
-       assert(cf != NULL);
-       assert(cf->type != CP_INVALID);
-       
-       if ((unsigned)(cf->base + cf->size - cf->cur) < need)
-       {
-               if (cfname != NULL)
-                       postExceptionMessage(einfo,
-                                            JAVA_LANG(ClassFormatError),
-                                            "%s class file truncated",
-                                            cfname);
-               else
-                       postExceptionMessage(einfo,
-                                            JAVA_LANG(ClassFormatError),
-                                            "Truncated class file");
-                       
-               return false;
-       }
-
-       return true;
-}
-
-static inline void 
-readu1(u1* c, classFile* cf)
-{
-       assert(c != NULL);
-       assert(cf != NULL);
-       assert(cf->type != CP_INVALID);
+extern bool checkBufSize(classFile* cf, 
+                        u4 need,
+                        const char* cfname,
+                        errorInfo* einfo);
 
-       *c = cf->cur[0];
-       cf->cur += 1;
-}
-
-static inline void 
-readu2(u2* c, classFile* cf)
-{
-       assert(c != NULL);
-       assert(cf != NULL);
-       assert(cf->type != CP_INVALID);
-
-       *c = (((u2) cf->cur[0]) << 8) | ((u2) cf->cur[1]);
-       cf->cur += 2;
-}
-
-static inline void 
-readu4(u4* c, classFile* cf)
-{
-       assert(c != NULL);
-       assert(cf != NULL);
-       assert(cf->type != CP_INVALID);
-
-       *c = (((u4) cf->cur[0]) << 24)
-               | (((u4) cf->cur[1]) << 16)
-               | (((u4) cf->cur[2]) << 8)
-               | ((u4) cf->cur[3]);
-       cf->cur += 4;
-}
+/* Read a single unsigned byte from cf */
+extern void readu1(u1* c, 
+                  classFile* cf);
 
-/**
- * Read len*size bytes out of the classfile, and into dest.
- */
-static inline void
-readm(void* dest, size_t len, size_t size, classFile* cf)
-{
-       assert(dest != NULL);
-       assert(cf != NULL);
-       assert(cf->type != CP_INVALID);
+/* Read a pair of unsigned bytes from cf */
+extern void readu2(u2* c, 
+                  classFile* cf);
 
-       memcpy(dest, cf->cur, len*size);
-       cf->cur += len*size;
-}
+/* Read a four-byte unsigned word from cf */
+extern void readu4(u4* c,
+                  classFile* cf);
 
-static inline void
-seekm(classFile* cf, size_t len)
-{
-       assert(cf != NULL);
-       assert(cf->type != CP_INVALID);
+/* Read an arbitrary chunk from cf */
+extern void readm(void* dest,
+                 size_t len,
+                 size_t size,
+                 classFile* cf);
 
-       cf->cur += len;
-}
+/* Skip over an arbitrary chunk of cf */
+extern void seekm(classFile*cf,
+                 size_t len);
 
 #endif /* kaffe_kaffevm_file_h */

_______________________________________________
kaffe mailing list
[EMAIL PROTECTED]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to