Hi All,<br>
I have used kaffe previously to write simple java programs and also
some advanced ones like a text editor based on AWT using the Kaffe VM.<br>
However I have then worked extensively on Sun JDK and I want to incorporate certain features provided there into Kaffe VM.<br>
But I am a newbie here and I dunno from where I should start for
studying the source code for Kaffe.Also please guide me as to how i can
use the CVS system at Kaffe to get access to checkout/checkin source
code<br>
<br>
Thanks for your help and looking forward for an exciting development time ahead<br>
<br>
Regards<br>
Prahalad<br><br><div><span class="gmail_quote">On 11/28/06, <b class="gmail_sendername"><a href="mailto:kaffe-request@kaffe.org">kaffe-request@kaffe.org</a></b> &lt;<a href="mailto:kaffe-request@kaffe.org">kaffe-request@kaffe.org
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Send kaffe mailing list submissions to<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="mailto:kaffe@kaffe.org">
kaffe@kaffe.org</a><br><br>To subscribe or unsubscribe via the World Wide Web, visit<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://kaffe.org/cgi-bin/mailman/listinfo/kaffe">http://kaffe.org/cgi-bin/mailman/listinfo/kaffe</a><br>or, via email, send a message with subject or body 'help' to
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="mailto:kaffe-request@kaffe.org">kaffe-request@kaffe.org</a><br><br>You can reach the person managing the list at<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="mailto:kaffe-owner@kaffe.org">kaffe-owner@kaffe.org</a><br><br>When replying, please edit your Subject line so it is more specific
<br>than &quot;Re: Contents of kaffe digest...&quot;<br><br><br>Today's Topics:<br><br>&nbsp;&nbsp; 1. Re: Kaffe Project Status (pietro ferrari)<br>&nbsp;&nbsp; 2. Re: Kaffe Project Status (Dalibor Topic)<br>&nbsp;&nbsp; 3. CVS kaffe (robilad): fixed the build on mac os x 
10.4.8<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Kaffe CVS)<br><br><br>----------------------------------------------------------------------<br><br>Message: 1<br>Date: Mon, 27 Nov 2006 16:54:56 -0200<br>From: &quot;pietro ferrari&quot; &lt;<a href="mailto:pietro.ferrari@gmail.com">
pietro.ferrari@gmail.com</a>&gt;<br>Subject: Re: [kaffe] Kaffe Project Status<br>To: <a href="mailto:kaffe@kaffe.org">kaffe@kaffe.org</a><br>Message-ID:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;<a href="mailto:6eb9e8610611271054t789c4cf0n16b203d016b912ed@mail.gmail.com">
6eb9e8610611271054t789c4cf0n16b203d016b912ed@mail.gmail.com</a>&gt;<br>Content-Type: text/plain; charset=UTF-8; format=flowed<br><br>i'm just another kaffe user lurking around, but i'd like to ask if we<br>can get another kaffe release when classpath 
0.93 comes out and is<br>synched?<br><br>pietro.<br><br><br><br>------------------------------<br><br>Message: 2<br>Date: Mon, 27 Nov 2006 21:46:27 +0100<br>From: Dalibor Topic &lt;<a href="mailto:robilad@kaffe.org">robilad@kaffe.org
</a>&gt;<br>Subject: Re: [kaffe] Kaffe Project Status<br>To: pietro ferrari &lt;<a href="mailto:pietro.ferrari@gmail.com">pietro.ferrari@gmail.com</a>&gt;<br>Cc: <a href="mailto:kaffe@kaffe.org">kaffe@kaffe.org</a><br>Message-ID: &lt;
<a href="mailto:456B4EA3.7030807@kaffe.org">456B4EA3.7030807@kaffe.org</a>&gt;<br>Content-Type: text/plain; charset=UTF-8; format=flowed<br><br>pietro ferrari wrote:<br><br>&gt; i'm just another kaffe user lurking around, but i'd like to ask if we
<br>&gt; can get another kaffe release when classpath 0.93 comes out and is<br>&gt; synched?<br><br>Ciao pietro,<br><br>that's the plan. :)<br><br>cheers,<br>dalibor topic<br><br><br><br>------------------------------<br>
<br>Message: 3<br>Date: Mon, 27 Nov 2006 13:48:21 -0800<br>From: Kaffe CVS &lt;<a href="mailto:cvs-commits@kaffe.org">cvs-commits@kaffe.org</a>&gt;<br>Subject: [kaffe] CVS kaffe (robilad): fixed the build on mac os x<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
10.4.8<br>To: <a href="mailto:kaffe@kaffe.org">kaffe@kaffe.org</a><br>Message-ID: &lt;<a href="mailto:E1GooKr-0006Iq-00@pogo.kaffe.org">E1GooKr-0006Iq-00@pogo.kaffe.org</a>&gt;<br><br>PatchSet 7451<br>Date: 2006/11/27 21:47:20
<br>Author: robilad<br>Branch: HEAD<br>Tag: (none)<br>Log:<br>fixed the build on mac os x 10.4.8<br><br>2006-11-27&nbsp;&nbsp;Dalibor Topic&nbsp;&nbsp;&lt;<a href="mailto:robilad@kaffe.org">robilad@kaffe.org</a>&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fixed the build on Mac OS X 
10.4.8.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reported by:&nbsp;&nbsp;Jim Pick&nbsp;&nbsp;&lt;<a href="mailto:jim@kaffe.org">jim@kaffe.org</a>&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* libraries/clib/io/File.c: Renamed to<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* libraries/clib/io/java_io_File.c: this one.<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* libraries/clib/native/Object.c: Renamed to
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* libraries/clib/native/java_lang_Object.c: this one.<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* libraries/clib/native/String.c: Renamed to<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* libraries/clib/native/java_lang_String.c: this one.<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* libraries/clib/native/Thread.c: Renamed to
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* libraries/clib/native/java_lang_Thread.c: this one.<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* kaffe/kaffevm/Makefile.am: Updated to use the new names.<br><br>Members:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ChangeLog:1.4951-&gt;1.4952<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kaffe/kaffevm/Makefile.am:
1.95-&gt;1.96<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kaffe/kaffevm/Makefile.in:1.255-&gt;1.256<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libraries/clib/io/File.c:1.28-&gt;1.29(DEAD)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libraries/clib/io/java_io_File.c:INITIAL-&gt;1.1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libraries/clib/native/Object.c:
1.20-&gt;1.21(DEAD)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libraries/clib/native/String.c:1.21-&gt;1.22(DEAD)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libraries/clib/native/Thread.c:1.26-&gt;1.27(DEAD)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libraries/clib/native/java_lang_Object.c:INITIAL-&gt;1.1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libraries/clib/native/java_lang_String.c:INITIAL-&gt;
1.1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libraries/clib/native/java_lang_Thread.c:INITIAL-&gt;1.1<br><br>Index: kaffe/ChangeLog<br>diff -u kaffe/ChangeLog:1.4951 kaffe/ChangeLog:1.4952<br>--- kaffe/ChangeLog:1.4951&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sun Nov 19 21:32:12 2006<br>
+++ kaffe/ChangeLog&nbsp;&nbsp;&nbsp;&nbsp; Mon Nov 27 21:47:20 2006<br>@@ -1,3 +1,22 @@<br>+2006-11-27&nbsp;&nbsp;Dalibor Topic&nbsp;&nbsp;&lt;<a href="mailto:robilad@kaffe.org">robilad@kaffe.org</a>&gt;<br>+<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Fixed the build on Mac OS X 10.4.8.<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Reported by:&nbsp;&nbsp;Jim Pick&nbsp;&nbsp;&lt;
<a href="mailto:jim@kaffe.org">jim@kaffe.org</a>&gt;<br>+<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * libraries/clib/io/File.c: Renamed to<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * libraries/clib/io/java_io_File.c: this one.<br>+<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * libraries/clib/native/Object.c: Renamed to
<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * libraries/clib/native/java_lang_Object.c: this one.<br>+<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * libraries/clib/native/String.c: Renamed to<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * libraries/clib/native/java_lang_String.c: this one.<br>+<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * libraries/clib/native/Thread.c: Renamed to
<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * libraries/clib/native/java_lang_Thread.c: this one.<br>+<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * kaffe/kaffevm/Makefile.am: Updated to use the new names.<br>+<br> 2006-11-19&nbsp;&nbsp;Guilhem Lavaux&nbsp;&nbsp;&lt;<a href="mailto:guilhem@kaffe.org">guilhem@kaffe.org
</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Riccardo Mottola &lt;<a href="mailto:riccardo@kaffe.org">riccardo@kaffe.org</a>&gt;<br><br>Index: kaffe/kaffe/kaffevm/Makefile.am<br>diff -u kaffe/kaffe/kaffevm/Makefile.am:1.95 kaffe/kaffe/kaffevm/Makefile.am:
1.96<br>--- kaffe/kaffe/kaffevm/Makefile.am:1.95&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sun Sep 24 18:21:12 2006<br>+++ kaffe/kaffe/kaffevm/Makefile.am&nbsp;&nbsp;&nbsp;&nbsp; Mon Nov 27 21:47:20 2006<br>@@ -135,7 +135,7 @@<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/net/NetworkInterface.c \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/net/PlainDatagramSocketImpl.c \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/net/PlainSocketImpl.c \<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(top_srcdir)/libraries/clib/io/File.c \<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(top_srcdir)/libraries/clib/io/java_io_File.c \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/io/java_io_VMFile.c \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/native/AccessController.c \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/native/java_lang_ref_Reference.c \<br>@@ -146,12 +146,12 @@
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(top_srcdir)/libraries/clib/native/TimeZone.c \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(top_srcdir)/libraries/clib/native/Class.c \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(top_srcdir)/libraries/clib/native/ClassLoader.c \<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/native/Object.c \
<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/native/java_lang_Object.c \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(top_srcdir)/libraries/clib/native/Runtime.c \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(top_srcdir)/libraries/clib/native/VMRuntime.c \<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/native/String.c \
<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/native/java_lang_String.c \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(top_srcdir)/libraries/clib/native/System.c \<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/native/Thread.c \<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/native/java_lang_Thread.c \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(top_srcdir)/libraries/clib/native/Throwable.c \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/native/gnu_classpath_VMStackWalker.c \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/native/gnu_classpath_VMSystemProperties.c \
<br>Index: kaffe/kaffe/kaffevm/Makefile.in<br>diff -u kaffe/kaffe/kaffevm/Makefile.in:1.255 kaffe/kaffe/kaffevm/Makefile.in:1.256<br>--- kaffe/kaffe/kaffevm/Makefile.in:1.255&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tue Nov&nbsp;&nbsp;7 03:37:35 2006<br>+++ kaffe/kaffe/kaffevm/Makefile.in&nbsp;&nbsp;&nbsp;&nbsp; Mon Nov 27 21:47:20 2006
<br>@@ -118,7 +118,7 @@<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libkaffevm_la-InetAddressImpl.lo \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libkaffevm_la-NetworkInterface.lo \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libkaffevm_la-PlainDatagramSocketImpl.lo \<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; libkaffevm_la-PlainSocketImpl.lo libkaffevm_la-
File.lo \<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; libkaffevm_la-PlainSocketImpl.lo libkaffevm_la-java_io_File.lo \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libkaffevm_la-java_io_VMFile.lo \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libkaffevm_la-AccessController.lo \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libkaffevm_la-java_lang_ref_Reference.lo \
<br>@@ -126,9 +126,9 @@<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libkaffevm_la-Constructor.lo libkaffevm_la-Field.lo \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libkaffevm_la-Method.lo libkaffevm_la-TimeZone.lo \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libkaffevm_la-Class.lo libkaffevm_la-ClassLoader.lo \<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; libkaffevm_la-
Object.lo libkaffevm_la-Runtime.lo \<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; libkaffevm_la-VMRuntime.lo libkaffevm_la-String.lo \<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; libkaffevm_la-System.lo libkaffevm_la-Thread.lo \<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; libkaffevm_la-java_lang_Object.lo libkaffevm_la-
Runtime.lo \<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; libkaffevm_la-VMRuntime.lo libkaffevm_la-java_lang_String.lo \<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; libkaffevm_la-System.lo libkaffevm_la-java_lang_Thread.lo \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libkaffevm_la-Throwable.lo \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libkaffevm_la-gnu_classpath_VMStackWalker.lo \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libkaffevm_la-gnu_classpath_VMSystemProperties.lo \<br>@@ -488,7 +488,7 @@<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/net/NetworkInterface.c \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/net/PlainDatagramSocketImpl.c \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/net/PlainSocketImpl.c \<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(top_srcdir)/libraries/clib/io/File.c \<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(top_srcdir)/libraries/clib/io/java_io_File.c \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/io/java_io_VMFile.c \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/native/AccessController.c \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/native/java_lang_ref_Reference.c \<br>@@ -499,12 +499,12 @@<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(top_srcdir)/libraries/clib/native/TimeZone.c \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(top_srcdir)/libraries/clib/native/Class.c \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(top_srcdir)/libraries/clib/native/ClassLoader.c \<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/native/Object.c \<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/native/java_lang_Object.c \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(top_srcdir)/libraries/clib/native/Runtime.c \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(top_srcdir)/libraries/clib/native/VMRuntime.c \<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/native/String.c \<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/native/java_lang_String.c \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(top_srcdir)/libraries/clib/native/System.c \<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/native/Thread.c \<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/native/java_lang_Thread.c \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(top_srcdir)/libraries/clib/native/Throwable.c \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/native/gnu_classpath_VMStackWalker.c \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(top_srcdir)/libraries/clib/native/gnu_classpath_VMSystemProperties.c \<br>@@ -625,17 +625,13 @@<br> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-
ClassLoader.Plo@am__quote@<br> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-Constructor.Plo@am__quote@<br> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-Field.Plo@am__quote@<br>-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-
File.Plo@am__quote@<br> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-InetAddressImpl.Plo@am__quote@<br> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-Method.Plo@am__quote@<br> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-
NetworkInterface.Plo@am__quote@<br>-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-Object.Plo@am__quote@<br> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-PlainDatagramSocketImpl.Plo@am__quote@
<br> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-PlainSocketImpl.Plo@am__quote@<br> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-Runtime.Plo@am__quote@<br>-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-
String.Plo@am__quote@<br> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-System.Plo@am__quote@<br>-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-Thread.Plo@am__quote@<br> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-
Throwable.Plo@am__quote@<br> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-TimeZone.Plo@am__quote@<br> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-VMRuntime.Plo@am__quote@<br>@@ -662,7 +658,11 @@
<br> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-hashtab.Plo@am__quote@<br> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-itypes.Plo@am__quote@<br> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-
jar.Plo@am__quote@<br>+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-java_io_File.Plo@am__quote@<br> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-java_io_VMFile.Plo@am__quote@<br>+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-
java_lang_Object.Plo@am__quote@<br>+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-java_lang_String.Plo@am__quote@<br>+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-java_lang_Thread.Plo@am
__quote@<br> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-java_lang_VMDouble.Plo@am__quote@<br> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-java_lang_VMProcess.Plo@am__quote@<br> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libkaffevm_la-
java_lang_VMSystem.Plo@am__quote@<br>@@ -986,12 +986,12 @@<br> @AMDEP_TRUE@@am__fastdepCC_FALSE@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@<br>
@am__fastdepCC_FALSE@&nbsp;&nbsp;$(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS)
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES)
$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libkaffevm_la_CFLAGS)
$(CFLAGS) -c -o libkaffevm_la-PlainSocketImpl.lo `test -f
'$(top_srcdir)/libraries/clib/net/PlainSocketImpl.c' || echo '$(srcdir)/'`$(top_srcdir)/libraries/clib/net/PlainSocketImpl.c<br><br>-libkaffevm_la-File.lo: $(top_srcdir)/libraries/clib/io/File.c<br>-@am__fastdepCC_TRUE@&nbsp;&nbsp;
$(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS)
$(CPPFLAGS) $(libkaffevm_la_CFLAGS) $(CFLAGS) -MT libkaffevm_la-File.lo
-MD -MP -MF $(DEPDIR)/libkaffevm_la-File.Tpo -c -o
libkaffevm_la-File.lo `test -f '$(top_srcdir)/libraries/clib/io/File.c' || echo '$(srcdir)/'`$(top_srcdir)/libraries/clib/io/File.c<br>-@am__fastdepCC_TRUE@&nbsp;&nbsp; mv -f $(DEPDIR)/libkaffevm_la-File.Tpo $(DEPDIR)/libkaffevm_la-
File.Plo<br>-@AMDEP_TRUE@@am__fastdepCC_FALSE@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;source='$(top_srcdir)/libraries/clib/io/File.c' object='libkaffevm_la-File.lo' libtool=yes @AMDEPBACKSLASH@<br>+libkaffevm_la-java_io_File.lo: $(top_srcdir)/libraries/clib/io/java_io_File.c
<br>+@am__fastdepCC_TRUE@&nbsp;&nbsp;
$(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS)
$(CPPFLAGS) $(libkaffevm_la_CFLAGS) $(CFLAGS) -MT
libkaffevm_la-java_io_File.lo -MD -MP -MF $(DEPDIR)/libkaffevm_la-java_io_File.Tpo -c -o libkaffevm_la-java_io_File.lo `test -f '$(top_srcdir)/libraries/clib/io/java_io_File.c' || echo '$(srcdir)/'`$(top_srcdir)/libraries/clib/io/java_io_File.c
<br>+@am__fastdepCC_TRUE@&nbsp;&nbsp; mv -f $(DEPDIR)/libkaffevm_la-java_io_File.Tpo $(DEPDIR)/libkaffevm_la-java_io_File.Plo<br>+@AMDEP_TRUE@@am__fastdepCC_FALSE@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;source='$(top_srcdir)/libraries/clib/io/java_io_File.c' object='libkaffevm_la-java_io_File.lo' libtool=yes @AMDEPBACKSLASH@
<br> @AMDEP_TRUE@@am__fastdepCC_FALSE@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@<br>-@am__fastdepCC_FALSE@&nbsp;&nbsp;$(LIBTOOL)
--tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC)
$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)
$(libkaffevm_la_CFLAGS) $(CFLAGS) -c -o libkaffevm_la-File.lo `test -f
'$(top_srcdir)/libraries/clib/io/File.c' || echo '$(srcdir)/'`$(top_srcdir)/libraries/clib/io/File.c<br>+@am__fastdepCC_FALSE@&nbsp;&nbsp;$(LIBTOOL)
--tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC)
$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)
$(libkaffevm_la_CFLAGS) $(CFLAGS) -c -o libkaffevm_la-java_io_File.lo
`test -f '$(top_srcdir)/libraries/clib/io/java_io_File.c' || echo '$(srcdir)/'`$(top_srcdir)/libraries/clib/io/java_io_File.c<br><br> libkaffevm_la-java_io_VMFile.lo: $(top_srcdir)/libraries/clib/io/java_io_VMFile.c<br>
@am__fastdepCC_TRUE@&nbsp;&nbsp; $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS)
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES)
$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libkaffevm_la_CFLAGS)
$(CFLAGS) -MT libkaffevm_la-java_io_VMFile.lo -MD -MP -MF $(DEPDIR)/libkaffevm_la-java_io_VMFile.Tpo -c -o libkaffevm_la-java_io_VMFile.lo `test -f '$(top_srcdir)/libraries/clib/io/java_io_VMFile.c' || echo '$(srcdir)/'`$(top_srcdir)/libraries/clib/io/java_io_VMFile.c
<br>@@ -1063,12 +1063,12 @@<br> @AMDEP_TRUE@@am__fastdepCC_FALSE@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@<br>
@am__fastdepCC_FALSE@&nbsp;&nbsp;$(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS)
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES)
$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libkaffevm_la_CFLAGS)
$(CFLAGS) -c -o libkaffevm_la-ClassLoader.lo `test -f
'$(top_srcdir)/libraries/clib/native/ClassLoader.c' || echo '$(srcdir)/'`$(top_srcdir)/libraries/clib/native/ClassLoader.c<br><br>-libkaffevm_la-Object.lo: $(top_srcdir)/libraries/clib/native/Object.c<br>-@am__fastdepCC_TRUE@&nbsp;&nbsp;
$(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS)
$(CPPFLAGS) $(libkaffevm_la_CFLAGS) $(CFLAGS) -MT
libkaffevm_la-Object.lo -MD -MP -MF $(DEPDIR)/libkaffevm_la-Object.Tpo
-c -o libkaffevm_la-Object.lo `test -f '$(top_srcdir)/libraries/clib/native/Object.c' || echo '$(srcdir)/'`$(top_srcdir)/libraries/clib/native/Object.c<br>-@am__fastdepCC_TRUE@&nbsp;&nbsp; mv -f $(DEPDIR)/libkaffevm_la-Object.Tpo $(DEPDIR)/libkaffevm_la-
Object.Plo<br>-@AMDEP_TRUE@@am__fastdepCC_FALSE@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;source='$(top_srcdir)/libraries/clib/native/Object.c' object='libkaffevm_la-Object.lo' libtool=yes @AMDEPBACKSLASH@<br>+libkaffevm_la-java_lang_Object.lo: $(top_srcdir)/libraries/clib/native/java_lang_Object.c
<br>+@am__fastdepCC_TRUE@&nbsp;&nbsp;
$(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS)
$(CPPFLAGS) $(libkaffevm_la_CFLAGS) $(CFLAGS) -MT
libkaffevm_la-java_lang_Object.lo -MD -MP -MF $(DEPDIR)/libkaffevm_la-java_lang_Object.Tpo -c -o libkaffevm_la-java_lang_Object.lo `test -f '$(top_srcdir)/libraries/clib/native/java_lang_Object.c' || echo '$(srcdir)/'`$(top_srcdir)/libraries/clib/native/java_lang_Object.c
<br>+@am__fastdepCC_TRUE@&nbsp;&nbsp; mv -f $(DEPDIR)/libkaffevm_la-java_lang_Object.Tpo $(DEPDIR)/libkaffevm_la-java_lang_Object.Plo<br>+@AMDEP_TRUE@@am__fastdepCC_FALSE@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;source='$(top_srcdir)/libraries/clib/native/java_lang_Object.c' object='libkaffevm_la-java_lang_Object.lo' libtool=yes @AMDEPBACKSLASH@
<br> @AMDEP_TRUE@@am__fastdepCC_FALSE@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@<br>-@am__fastdepCC_FALSE@&nbsp;&nbsp;$(LIBTOOL)
--tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC)
$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)
$(libkaffevm_la_CFLAGS) $(CFLAGS) -c -o libkaffevm_la-Object.lo `test
-f '$(top_srcdir)/libraries/clib/native/Object.c' || echo '$(srcdir)/'`$(top_srcdir)/libraries/clib/native/Object.c<br>+@am__fastdepCC_FALSE@&nbsp;&nbsp;$(LIBTOOL)
--tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC)
$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)
$(libkaffevm_la_CFLAGS) $(CFLAGS) -c -o libkaffevm_la-java_lang_Object.lo `test -f '$(top_srcdir)/libraries/clib/native/java_lang_Object.c' || echo '$(srcdir)/'`$(top_srcdir)/libraries/clib/native/java_lang_Object.c<br><br>
 libkaffevm_la-Runtime.lo: $(top_srcdir)/libraries/clib/native/Runtime.c<br>
@am__fastdepCC_TRUE@&nbsp;&nbsp; $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS)
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES)
$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libkaffevm_la_CFLAGS)
$(CFLAGS) -MT libkaffevm_la-Runtime.lo -MD -MP -MF
$(DEPDIR)/libkaffevm_la-Runtime.Tpo -c -o libkaffevm_la-Runtime.lo
`test -f '$(top_srcdir)/libraries/clib/native/Runtime.c' || echo '$(srcdir)/'`$(top_srcdir)/libraries/clib/native/Runtime.c<br>@@ -1084,12 +1084,12 @@<br> @AMDEP_TRUE@@am__fastdepCC_FALSE@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
<br>
@am__fastdepCC_FALSE@&nbsp;&nbsp;$(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS)
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES)
$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libkaffevm_la_CFLAGS)
$(CFLAGS) -c -o libkaffevm_la-VMRuntime.lo `test -f
'$(top_srcdir)/libraries/clib/native/VMRuntime.c' || echo '$(srcdir)/'`$(top_srcdir)/libraries/clib/native/VMRuntime.c<br><br>-libkaffevm_la-String.lo: $(top_srcdir)/libraries/clib/native/String.c<br>-@am__fastdepCC_TRUE@&nbsp;&nbsp;
$(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS)
$(CPPFLAGS) $(libkaffevm_la_CFLAGS) $(CFLAGS) -MT
libkaffevm_la-String.lo -MD -MP -MF $(DEPDIR)/libkaffevm_la-String.Tpo
-c -o libkaffevm_la-String.lo `test -f '$(top_srcdir)/libraries/clib/native/String.c' || echo '$(srcdir)/'`$(top_srcdir)/libraries/clib/native/String.c<br>-@am__fastdepCC_TRUE@&nbsp;&nbsp; mv -f $(DEPDIR)/libkaffevm_la-String.Tpo $(DEPDIR)/libkaffevm_la-
String.Plo<br>-@AMDEP_TRUE@@am__fastdepCC_FALSE@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;source='$(top_srcdir)/libraries/clib/native/String.c' object='libkaffevm_la-String.lo' libtool=yes @AMDEPBACKSLASH@<br>+libkaffevm_la-java_lang_String.lo: $(top_srcdir)/libraries/clib/native/java_lang_String.c
<br>+@am__fastdepCC_TRUE@&nbsp;&nbsp;
$(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS)
$(CPPFLAGS) $(libkaffevm_la_CFLAGS) $(CFLAGS) -MT
libkaffevm_la-java_lang_String.lo -MD -MP -MF $(DEPDIR)/libkaffevm_la-java_lang_String.Tpo -c -o libkaffevm_la-java_lang_String.lo `test -f '$(top_srcdir)/libraries/clib/native/java_lang_String.c' || echo '$(srcdir)/'`$(top_srcdir)/libraries/clib/native/java_lang_String.c
<br>+@am__fastdepCC_TRUE@&nbsp;&nbsp; mv -f $(DEPDIR)/libkaffevm_la-java_lang_String.Tpo $(DEPDIR)/libkaffevm_la-java_lang_String.Plo<br>+@AMDEP_TRUE@@am__fastdepCC_FALSE@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;source='$(top_srcdir)/libraries/clib/native/java_lang_String.c' object='libkaffevm_la-java_lang_String.lo' libtool=yes @AMDEPBACKSLASH@
<br> @AMDEP_TRUE@@am__fastdepCC_FALSE@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@<br>-@am__fastdepCC_FALSE@&nbsp;&nbsp;$(LIBTOOL)
--tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC)
$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)
$(libkaffevm_la_CFLAGS) $(CFLAGS) -c -o libkaffevm_la-String.lo `test
-f '$(top_srcdir)/libraries/clib/native/String.c' || echo '$(srcdir)/'`$(top_srcdir)/libraries/clib/native/String.c<br>+@am__fastdepCC_FALSE@&nbsp;&nbsp;$(LIBTOOL)
--tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC)
$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)
$(libkaffevm_la_CFLAGS) $(CFLAGS) -c -o libkaffevm_la-java_lang_String.lo `test -f '$(top_srcdir)/libraries/clib/native/java_lang_String.c' || echo '$(srcdir)/'`$(top_srcdir)/libraries/clib/native/java_lang_String.c<br><br>
 libkaffevm_la-System.lo: $(top_srcdir)/libraries/clib/native/System.c<br>
@am__fastdepCC_TRUE@&nbsp;&nbsp; $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS)
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES)
$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libkaffevm_la_CFLAGS)
$(CFLAGS) -MT libkaffevm_la-System.lo -MD -MP -MF
$(DEPDIR)/libkaffevm_la-System.Tpo -c -o libkaffevm_la-System.lo `test
-f '$(top_srcdir)/libraries/clib/native/System.c' || echo '$(srcdir)/'`$(top_srcdir)/libraries/clib/native/System.c<br>@@ -1098,12 +1098,12 @@<br> @AMDEP_TRUE@@am__fastdepCC_FALSE@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
<br>
@am__fastdepCC_FALSE@&nbsp;&nbsp;$(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS)
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES)
$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libkaffevm_la_CFLAGS)
$(CFLAGS) -c -o libkaffevm_la-System.lo `test -f
'$(top_srcdir)/libraries/clib/native/System.c' || echo '$(srcdir)/'`$(top_srcdir)/libraries/clib/native/System.c<br><br>-libkaffevm_la-Thread.lo: $(top_srcdir)/libraries/clib/native/Thread.c<br>-@am__fastdepCC_TRUE@&nbsp;&nbsp;
$(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS)
$(CPPFLAGS) $(libkaffevm_la_CFLAGS) $(CFLAGS) -MT
libkaffevm_la-Thread.lo -MD -MP -MF $(DEPDIR)/libkaffevm_la-Thread.Tpo
-c -o libkaffevm_la-Thread.lo `test -f '$(top_srcdir)/libraries/clib/native/Thread.c' || echo '$(srcdir)/'`$(top_srcdir)/libraries/clib/native/Thread.c<br>-@am__fastdepCC_TRUE@&nbsp;&nbsp; mv -f $(DEPDIR)/libkaffevm_la-Thread.Tpo $(DEPDIR)/libkaffevm_la-
Thread.Plo<br>-@AMDEP_TRUE@@am__fastdepCC_FALSE@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;source='$(top_srcdir)/libraries/clib/native/Thread.c' object='libkaffevm_la-Thread.lo' libtool=yes @AMDEPBACKSLASH@<br>+libkaffevm_la-java_lang_Thread.lo: $(top_srcdir)/libraries/clib/native/java_lang_Thread.c
<br>+@am__fastdepCC_TRUE@&nbsp;&nbsp;
$(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS)
$(CPPFLAGS) $(libkaffevm_la_CFLAGS) $(CFLAGS) -MT
libkaffevm_la-java_lang_Thread.lo -MD -MP -MF $(DEPDIR)/libkaffevm_la-java_lang_Thread.Tpo -c -o libkaffevm_la-java_lang_Thread.lo `test -f '$(top_srcdir)/libraries/clib/native/java_lang_Thread.c' || echo '$(srcdir)/'`$(top_srcdir)/libraries/clib/native/java_lang_Thread.c
<br>+@am__fastdepCC_TRUE@&nbsp;&nbsp; mv -f $(DEPDIR)/libkaffevm_la-java_lang_Thread.Tpo $(DEPDIR)/libkaffevm_la-java_lang_Thread.Plo<br>+@AMDEP_TRUE@@am__fastdepCC_FALSE@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;source='$(top_srcdir)/libraries/clib/native/java_lang_Thread.c' object='libkaffevm_la-java_lang_Thread.lo' libtool=yes @AMDEPBACKSLASH@
<br> @AMDEP_TRUE@@am__fastdepCC_FALSE@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@<br>-@am__fastdepCC_FALSE@&nbsp;&nbsp;$(LIBTOOL)
--tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC)
$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)
$(libkaffevm_la_CFLAGS) $(CFLAGS) -c -o libkaffevm_la-Thread.lo `test
-f '$(top_srcdir)/libraries/clib/native/Thread.c' || echo '$(srcdir)/'`$(top_srcdir)/libraries/clib/native/Thread.c<br>+@am__fastdepCC_FALSE@&nbsp;&nbsp;$(LIBTOOL)
--tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC)
$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)
$(libkaffevm_la_CFLAGS) $(CFLAGS) -c -o libkaffevm_la-java_lang_Thread.lo `test -f '$(top_srcdir)/libraries/clib/native/java_lang_Thread.c' || echo '$(srcdir)/'`$(top_srcdir)/libraries/clib/native/java_lang_Thread.c<br><br>
 libkaffevm_la-Throwable.lo: $(top_srcdir)/libraries/clib/native/Throwable.c<br>
@am__fastdepCC_TRUE@&nbsp;&nbsp; $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS)
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES)
$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libkaffevm_la_CFLAGS)
$(CFLAGS) -MT libkaffevm_la-Throwable.lo -MD -MP -MF
$(DEPDIR)/libkaffevm_la-Throwable.Tpo -c -o libkaffevm_la-Throwable.lo
`test -f '$(top_srcdir)/libraries/clib/native/Throwable.c' || echo '$(srcdir)/'`$(top_srcdir)/libraries/clib/native/Throwable.c<br>===================================================================<br>Checking out kaffe/libraries/clib/io/File.c
<br>RCS:&nbsp;&nbsp;/home/cvs/kaffe/kaffe/libraries/clib/io/Attic/File.c,v<br>VERS: 1.28<br>***************<br>--- kaffe/libraries/clib/io/File.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mon Nov 27 21:48:20 2006<br>+++ /dev/null&nbsp;&nbsp; Sun Aug&nbsp;&nbsp;4 19:57:58 2002<br>@@ -1,497 +0,0 @@
<br>-/*<br>- * java.io.File.c<br>- *<br>- * Copyright (c) 1996, 1997, 1998, 1999<br>- *&nbsp;&nbsp;&nbsp;&nbsp; Transvirtual Technologies, Inc.&nbsp;&nbsp;All rights reserved.<br>- * Copyright (c) 2003, 2006<br>- *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Kaffe's team.<br>- * Copyright (c) 2006
<br>- *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Free Software Foundation, Inc.<br>- *<br>- * See the file &quot;license.terms&quot; for information on usage and redistribution<br>- * of this file.<br>- */<br>-<br>-#include &quot;config.h&quot;<br>-#include &quot;
config-std.h&quot;<br>-#include &quot;config-io.h&quot;<br>-#include &quot;config-mem.h&quot;<br>-#include &lt;stdio.h&gt;<br>-#include &lt;stdlib.h&gt;<br>-#include &lt;assert.h&gt;<br>-#include &lt;native.h&gt;<br>-#include &lt;
jsyscall.h&gt;<br>-#ifdef HAVE_UTIME_H<br>-#include &lt;utime.h&gt;<br>-#endif<br>-#include &quot;defs.h&quot;<br>-#include &quot;files.h&quot;<br>-#include &quot;../../../include/system.h&quot;<br>-#include &quot;jni.h&quot;
<br>-#include &quot;java_io_VMFile.h&quot;<br>-#include &quot;support.h&quot;<br>-#include &quot;stringSupport.h&quot;<br>-<br>-/*<br>- * Is named item a file?<br>- */<br>-JNIEXPORT jboolean JNICALL<br>-Java_java_io_VMFile_isFile (JNIEnv * env,
<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jobject obj __attribute__ ((__unused__)),<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jstring name)<br>-{<br>-&nbsp;&nbsp;const char *filename;<br>-&nbsp;&nbsp;int r;<br>-&nbsp;&nbsp;struct stat buf;<br>-<br>-&nbsp;&nbsp;filename = (*env)-&gt;GetStringUTFChars (env, name, 0);<br>-&nbsp;&nbsp;if (filename == NULL)<br>-&nbsp;&nbsp;&nbsp;&nbsp;{<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (0);<br>-&nbsp;&nbsp;&nbsp;&nbsp;}
<br>-<br>-&nbsp;&nbsp;r = KSTAT(filename, &amp;buf);<br>-&nbsp;&nbsp;(*env)-&gt;ReleaseStringUTFChars (env, name, filename);<br>-<br>-&nbsp;&nbsp;if (r == 0 &amp;&amp; S_ISREG(buf.st_mode)) {<br>-&nbsp;&nbsp;&nbsp;&nbsp;return (1);<br>-&nbsp;&nbsp;}<br>-&nbsp;&nbsp;else {<br>-&nbsp;&nbsp;&nbsp;&nbsp;return (0);
<br>-&nbsp;&nbsp;}<br>-}<br>-<br>-/*<br>- * Is named item a directory?<br>- */<br>-JNIEXPORT jboolean JNICALL<br>-Java_java_io_VMFile_isDirectory (JNIEnv * env,<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jobject
obj __attribute__ ((__unused__)),<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jstring
name)<br>-{<br>-&nbsp;&nbsp;const char * filename;<br>-&nbsp;&nbsp;int r;<br>-&nbsp;&nbsp;struct stat buf;<br>-<br>-&nbsp;&nbsp;filename = (*env)-&gt;GetStringUTFChars (env, name, 0);<br>-&nbsp;&nbsp;if (filename == NULL)<br>-&nbsp;&nbsp;&nbsp;&nbsp;{<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (0);<br>-&nbsp;&nbsp;&nbsp;&nbsp;}<br>-<br>
-&nbsp;&nbsp;r = KSTAT(filename, &amp;buf);<br>-&nbsp;&nbsp;(*env)-&gt;ReleaseStringUTFChars (env, name, filename);<br>-<br>-&nbsp;&nbsp;if (r == 0 &amp;&amp; S_ISDIR(buf.st_mode)) {<br>-&nbsp;&nbsp;&nbsp;&nbsp;return (1);<br>-&nbsp;&nbsp;}<br>-&nbsp;&nbsp;else {<br>-&nbsp;&nbsp;&nbsp;&nbsp;return (0);<br>-&nbsp;&nbsp;}
<br>-}<br>-<br>-/*<br>- * Does named file exist?<br>- */<br>-JNIEXPORT jboolean JNICALL<br>-Java_java_io_VMFile_exists (JNIEnv * env,<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jobject obj __attribute__ ((__unused__)),<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jstring name)<br>-{<br>-&nbsp;&nbsp;const char *filename;<br>-&nbsp;&nbsp;int result;<br>-&nbsp;&nbsp;struct stat buf;<br>-<br>-&nbsp;&nbsp;filename = (*env)-&gt;GetStringUTFChars (env, name, 0);<br>-&nbsp;&nbsp;if (filename == NULL)<br>-&nbsp;&nbsp;&nbsp;&nbsp;{<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (0);<br>-&nbsp;&nbsp;&nbsp;&nbsp;}
<br>-<br>-&nbsp;&nbsp;/* A file exists if I can stat it */<br>-&nbsp;&nbsp;result = KSTAT(filename, &amp;buf);<br>-&nbsp;&nbsp;(*env)-&gt;ReleaseStringUTFChars (env, name, filename);<br>-<br>-&nbsp;&nbsp;return result == 0;<br>-}<br>-<br>-/*<br>- * Last modified time on file.
<br>- */<br>-JNIEXPORT jlong JNICALL<br>-Java_java_io_VMFile_lastModified (JNIEnv * env,<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jobject obj __attribute__ ((__unused__)),<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jstring name)<br>-{<br>-&nbsp;&nbsp;const char *filename;<br>-&nbsp;&nbsp;struct stat buf;<br>-&nbsp;&nbsp;int r;<br>-<br>-&nbsp;&nbsp;filename = (*env)-&gt;GetStringUTFChars (env, name, 0);<br>-&nbsp;&nbsp;if (filename == NULL)<br>-&nbsp;&nbsp;&nbsp;&nbsp;{<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (0);<br>-&nbsp;&nbsp;&nbsp;&nbsp;}
<br>-<br>-<br>-&nbsp;&nbsp;r = KSTAT(filename, &amp;buf);<br>-<br>-&nbsp;&nbsp;(*env)-&gt;ReleaseStringUTFChars (env, name, filename);<br>-<br>-&nbsp;&nbsp;if (r != 0) {<br>-&nbsp;&nbsp;&nbsp;&nbsp;return ((jlong)0);<br>-&nbsp;&nbsp;}<br>-&nbsp;&nbsp;return ((jlong)buf.st_mtime * (jlong)1000);
<br>-}<br>-<br>-/*<br>- * Can I write to this file?<br>- */<br>-JNIEXPORT jboolean JNICALL<br>-Java_java_io_VMFile_canWrite (JNIEnv * env,<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jobject obj __attribute__ ((__unused__)),<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jstring name)<br>-{<br>-&nbsp;&nbsp;const char *filename;<br>-&nbsp;&nbsp;int r;<br>-<br>-&nbsp;&nbsp;filename = (*env)-&gt;GetStringUTFChars (env, name, 0);<br>-&nbsp;&nbsp;if (filename == NULL)<br>-&nbsp;&nbsp;&nbsp;&nbsp;{<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (0);<br>-&nbsp;&nbsp;&nbsp;&nbsp;}<br>-<br>-&nbsp;&nbsp;/* XXX make part of jsyscall interface !? */
<br>-&nbsp;&nbsp;r = access(filename, W_OK);<br>-<br>-&nbsp;&nbsp;(*env)-&gt;ReleaseStringUTFChars (env, name, filename);<br>-<br>-&nbsp;&nbsp;return (r &lt; 0 ? 0 : 1);<br>-}<br>-<br>-/*<br>- * Can I read from this file.<br>- */<br>-JNIEXPORT jboolean JNICALL
<br>-Java_java_io_VMFile_canRead (JNIEnv * env,<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jobject
obj __attribute__ ((__unused__)),<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jstring
name)<br>-{<br>-&nbsp;&nbsp;const char *filename;<br>-&nbsp;&nbsp;int r;<br>-<br>-&nbsp;&nbsp;filename = (*env)-&gt;GetStringUTFChars (env, name, 0);<br>-&nbsp;&nbsp;if (filename == NULL)<br>-&nbsp;&nbsp;&nbsp;&nbsp;{<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (0);<br>-&nbsp;&nbsp;&nbsp;&nbsp;}<br>-<br>-&nbsp;&nbsp;/* XXX make part of jsyscall interface !? */
<br>-&nbsp;&nbsp;r = access(filename, R_OK);<br>-<br>-&nbsp;&nbsp;(*env)-&gt;ReleaseStringUTFChars (env, name, filename);<br>-<br>-&nbsp;&nbsp;return (r &lt; 0 ? 0 : 1);<br>-}<br>-<br>-/*<br>- * Return length of file.<br>- */<br>-JNIEXPORT jlong JNICALL
<br>-Java_java_io_VMFile_length (JNIEnv * env,<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jobject obj __attribute__ ((__unused__)),<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jstring name)<br>-{<br>-&nbsp;&nbsp;const char *filename;<br>-&nbsp;&nbsp;struct stat buf;<br>-&nbsp;&nbsp;int r;<br>-<br>-&nbsp;&nbsp;filename = (*env)-&gt;GetStringUTFChars (env, name, 0);<br>-&nbsp;&nbsp;if (filename == NULL)<br>-&nbsp;&nbsp;&nbsp;&nbsp;{<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (0);<br>-&nbsp;&nbsp;&nbsp;&nbsp;}
<br>-<br>-&nbsp;&nbsp;r = KSTAT(filename, &amp;buf);<br>-<br>-&nbsp;&nbsp;(*env)-&gt;ReleaseStringUTFChars (env, name, filename);<br>-<br>-&nbsp;&nbsp;if (r != 0) {<br>-&nbsp;&nbsp;&nbsp;&nbsp;return ((jlong)0);<br>-&nbsp;&nbsp;}<br>-&nbsp;&nbsp;return ((jlong)buf.st_size);<br>-}<br>-<br>-/*
<br>- * Create a directory.<br>- */<br>-JNIEXPORT jboolean JNICALL<br>-Java_java_io_VMFile_mkdir (JNIEnv * env,<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jobject
obj __attribute__ ((__unused__)),<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jstring
name)<br>-{<br>-&nbsp;&nbsp;const char *filename;<br>-&nbsp;&nbsp;int r;<br>-<br>-&nbsp;&nbsp;filename = (*env)-&gt;GetStringUTFChars (env, name, 0);<br>-&nbsp;&nbsp;if (filename == NULL)<br>-&nbsp;&nbsp;&nbsp;&nbsp;{<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (0);<br>-&nbsp;&nbsp;&nbsp;&nbsp;}<br>-<br>-&nbsp;&nbsp;r = KMKDIR(filename, 0777);
<br>-<br>-&nbsp;&nbsp;(*env)-&gt;ReleaseStringUTFChars (env, name, filename);<br>-<br>-&nbsp;&nbsp;return (r != 0 ? 0 : 1);<br>-}<br>-<br>-/*<br>- * Rename a file.<br>- */<br>-JNIEXPORT jboolean JNICALL<br>-Java_java_io_VMFile_renameTo (JNIEnv * env,
<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jobject obj __attribute__ ((__unused__)),<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jstring t, jstring d)<br>-{<br>-&nbsp;&nbsp;const char *old_filename, *new_filename;<br>-&nbsp;&nbsp;int r;<br>-<br>-&nbsp;&nbsp;old_filename = (*env)-&gt;GetStringUTFChars (env, t, 0);<br>-&nbsp;&nbsp;if (old_filename == NULL)<br>-&nbsp;&nbsp;&nbsp;&nbsp;{<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (0);<br>
-&nbsp;&nbsp;&nbsp;&nbsp;}<br>-<br>-&nbsp;&nbsp;new_filename = (*env)-&gt;GetStringUTFChars (env, d, 0);<br>-&nbsp;&nbsp;if (new_filename == NULL)<br>-&nbsp;&nbsp;&nbsp;&nbsp;{<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*env)-&gt;ReleaseStringUTFChars (env, t, old_filename);<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (0);<br>-&nbsp;&nbsp;&nbsp;&nbsp;}<br>-<br>
-&nbsp;&nbsp;r = KRENAME(old_filename, new_filename);<br>-<br>-&nbsp;&nbsp;(*env)-&gt;ReleaseStringUTFChars (env, t, old_filename);<br>-&nbsp;&nbsp;(*env)-&gt;ReleaseStringUTFChars (env, t, new_filename);<br>-<br>-&nbsp;&nbsp;return (r != 0 ? 0 : 1);<br>-}<br>-
<br>-/*<br>- * Delete a file.<br>- */<br>-JNIEXPORT jboolean JNICALL<br>-Java_java_io_VMFile_delete (JNIEnv * env,<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jobject obj __attribute__ ((__unused__)),<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jstring name)<br>-{<br>-&nbsp;&nbsp;const char *filename;<br>-&nbsp;&nbsp;int r;<br>-<br>-&nbsp;&nbsp;filename = (*env)-&gt;GetStringUTFChars (env, name, 0);<br>-&nbsp;&nbsp;if (filename == NULL)<br>-&nbsp;&nbsp;&nbsp;&nbsp;{<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (0);<br>-&nbsp;&nbsp;&nbsp;&nbsp;}<br>-<br>-&nbsp;&nbsp;r = KREMOVE(filename);
<br>-<br>-&nbsp;&nbsp;(*env)-&gt;ReleaseStringUTFChars (env, name, filename);<br>-<br>-&nbsp;&nbsp;return(r != 0 ? 0 : 1);<br>-}<br>-<br>-/*<br>- * Get a directory listing.<br>- */<br>-JNIEXPORT jobjectArray JNICALL<br>-Java_java_io_VMFile_list (JNIEnv * env, jobject obj
<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
__attribute__ ((__unused__)), jstring name)<br>-{<br>-#if defined(HAVE_DIRENT_H)<br>-&nbsp;&nbsp;const char *dirname;<br>-&nbsp;&nbsp;DIR* dir;<br>-&nbsp;&nbsp;struct dirent* entry;<br>-&nbsp;&nbsp;struct dentry {<br>-&nbsp;&nbsp;&nbsp;&nbsp;struct dentry* next;<br>-&nbsp;&nbsp;&nbsp;&nbsp;char name[1];
<br>-&nbsp;&nbsp;};<br>-&nbsp;&nbsp;struct dentry* dirlist;<br>-&nbsp;&nbsp;struct dentry* mentry;<br>-&nbsp;&nbsp;struct dentry* lastentry;<br>-&nbsp;&nbsp;HArrayOfObject* array;<br>-&nbsp;&nbsp;int count;<br>-&nbsp;&nbsp;int i;<br>-&nbsp;&nbsp;int oom = 0;<br>-<br>-&nbsp;&nbsp;dirname = (*env)-&gt;GetStringUTFChars (env, name, 0);
<br>-&nbsp;&nbsp;if (dirname == NULL)<br>-&nbsp;&nbsp;&nbsp;&nbsp;{<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (0);<br>-&nbsp;&nbsp;&nbsp;&nbsp;}<br>-<br>-&nbsp;&nbsp;/* XXX make part of jsyscall interface !? */<br>-&nbsp;&nbsp;dir = opendir(dirname);<br>-<br>-&nbsp;&nbsp;(*env)-&gt;ReleaseStringUTFChars (env, name, dirname);
<br>-<br>-&nbsp;&nbsp;if (dir == 0) {<br>-&nbsp;&nbsp;&nbsp;&nbsp;return (NULL);<br>-&nbsp;&nbsp;}<br>-<br>-&nbsp;&nbsp;dirlist = NULL;<br>-&nbsp;&nbsp;lastentry = NULL;<br>-&nbsp;&nbsp;count = 0;<br>-&nbsp;&nbsp;/* XXX make part of jsyscall interface !? */<br>-&nbsp;&nbsp;while ((entry = readdir(dir)) != NULL) {
<br>-&nbsp;&nbsp;&nbsp;&nbsp;/* We skip '.' and '..' */<br>-&nbsp;&nbsp;&nbsp;&nbsp;if (strcmp(&quot;.&quot;, entry-&gt;d_name) == 0 ||<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strcmp(&quot;..&quot;, entry-&gt;d_name) == 0) {<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<br>-&nbsp;&nbsp;&nbsp;&nbsp;}<br>-&nbsp;&nbsp;&nbsp;&nbsp;mentry = KMALLOC(sizeof(struct dentry) + NAMLEN(entry));
<br>-&nbsp;&nbsp;&nbsp;&nbsp;if (!mentry) {<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;errorInfo info;<br>-<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (dirlist) {<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mentry = dirlist;<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dirlist = dirlist-&gt;next;<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; KFREE(mentry);<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;postOutOfMemory(&amp;info);
<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throwError(&amp;info);<br>-&nbsp;&nbsp;&nbsp;&nbsp;}<br>-&nbsp;&nbsp;&nbsp;&nbsp;strcpy(mentry-&gt;name, entry-&gt;d_name);<br>-&nbsp;&nbsp;&nbsp;&nbsp;mentry-&gt;next = NULL;<br>-&nbsp;&nbsp;&nbsp;&nbsp;if (count == 0) {<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dirlist = mentry;<br>-&nbsp;&nbsp;&nbsp;&nbsp;}<br>-&nbsp;&nbsp;&nbsp;&nbsp;else {<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lastentry-&gt;next = mentry;
<br>-&nbsp;&nbsp;&nbsp;&nbsp;}<br>-&nbsp;&nbsp;&nbsp;&nbsp;lastentry = mentry;<br>-&nbsp;&nbsp;&nbsp;&nbsp;count++;<br>-&nbsp;&nbsp;}<br>-&nbsp;&nbsp;/* XXX make part of jsyscall interface !? */<br>-&nbsp;&nbsp;closedir(dir);<br>-<br>-&nbsp;&nbsp;array = (HArrayOfObject*)AllocObjectArray(count,<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&quot;Ljava/lang/String;&quot;, NULL);<br>-&nbsp;&nbsp;/* XXX: This assert is a noop.&nbsp;&nbsp;If AllocObjectArray throws an<br>-&nbsp;&nbsp;&nbsp;&nbsp; exception, we leak. */<br>-&nbsp;&nbsp;assert(array != NULL);<br>-&nbsp;&nbsp;for (i = 0; i &lt; count; i++) {<br>-&nbsp;&nbsp;&nbsp;&nbsp;mentry = dirlist;
<br>-&nbsp;&nbsp;&nbsp;&nbsp;dirlist = mentry-&gt;next;<br>-&nbsp;&nbsp;&nbsp;&nbsp;unhand_array(array)-&gt;body[i] =<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Hjava_lang_Object*)checkPtr(stringC2Java(mentry-&gt;name));<br>-&nbsp;&nbsp;&nbsp;&nbsp;/* if allocation fails, continue freeing mentries in<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this loop. */
<br>-&nbsp;&nbsp;&nbsp;&nbsp;oom |= !unhand_array(array)-&gt;body[i];<br>-&nbsp;&nbsp;&nbsp;&nbsp;KFREE(mentry);<br>-&nbsp;&nbsp;}<br>-&nbsp;&nbsp;if (oom) {<br>-&nbsp;&nbsp;&nbsp;&nbsp;errorInfo info;<br>-&nbsp;&nbsp;&nbsp;&nbsp;postOutOfMemory(&amp;info);<br>-&nbsp;&nbsp;&nbsp;&nbsp;throwError(&amp;info);<br>-&nbsp;&nbsp;}<br>-<br>-&nbsp;&nbsp;return (array);
<br>-#else<br>-&nbsp;&nbsp;return (0);<br>-#endif<br>-}<br>-<br>-JNIEXPORT jboolean JNICALL<br>-Java_java_io_VMFile_create (JNIEnv * env,<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jclass clazz __attribute__ ((__unused__)),<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jstring name)<br>-{<br>-&nbsp;&nbsp;const char *filename;<br>-&nbsp;&nbsp;int fd;<br>-&nbsp;&nbsp;int rc;<br>-<br>-&nbsp;&nbsp;filename = (*env)-&gt;GetStringUTFChars (env, name, 0);<br>-&nbsp;&nbsp;if (filename == NULL)<br>-&nbsp;&nbsp;&nbsp;&nbsp;{<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (0);<br>-&nbsp;&nbsp;&nbsp;&nbsp;}<br>-<br>
-&nbsp;&nbsp;rc = KOPEN(filename, O_EXCL|O_WRONLY|O_BINARY|O_CREAT, 0600, &amp;fd);<br>-<br>-&nbsp;&nbsp;(*env)-&gt;ReleaseStringUTFChars (env, name, filename);<br>-<br>-&nbsp;&nbsp;switch (rc) {<br>-&nbsp;&nbsp;case 0:<br>-&nbsp;&nbsp;&nbsp;&nbsp;break;<br>-&nbsp;&nbsp;case EEXIST:<br>-&nbsp;&nbsp;&nbsp;&nbsp;return 0;
<br>-&nbsp;&nbsp;default:<br>-&nbsp;&nbsp;&nbsp;&nbsp;SignalError(&quot;java.io.IOException&quot;, SYS_ERROR(rc));<br>-&nbsp;&nbsp;}<br>-&nbsp;&nbsp;rc = KCLOSE(fd);<br>-&nbsp;&nbsp;if (rc != 0)<br>-&nbsp;&nbsp;&nbsp;&nbsp;SignalError(&quot;java.io.IOException&quot;, SYS_ERROR(rc));<br>-&nbsp;&nbsp;return 1;<br>
-}<br>-<br>-JNIEXPORT jboolean JNICALL<br>-Java_java_io_VMFile_setLastModified (JNIEnv * env,<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jobject
obj __attribute__ ((__unused__)),<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jstring
name, jlong newtime)<br>-{<br>-#ifdef HAVE_UTIME_H<br>-&nbsp;&nbsp;const char *filename;<br>-&nbsp;&nbsp;int result;<br>-&nbsp;&nbsp;struct utimbuf ub;<br>-#endif<br>-<br>-&nbsp;&nbsp;if (newtime &lt; 0)<br>-&nbsp;&nbsp;&nbsp;&nbsp;SignalError(&quot;java.lang.IllegalArgumentException
&quot;, &quot;time &lt; 0&quot;);<br>-#ifdef HAVE_UTIME_H<br>-<br>-&nbsp;&nbsp;ub.actime = (time_t)(newtime / 1000);<br>-&nbsp;&nbsp;ub.modtime = ub.actime;<br>-<br>-&nbsp;&nbsp;filename = (*env)-&gt;GetStringUTFChars (env, name, 0);<br>-&nbsp;&nbsp;if (filename == NULL)
<br>-&nbsp;&nbsp;&nbsp;&nbsp;{<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (0);<br>-&nbsp;&nbsp;&nbsp;&nbsp;}<br>-<br>-&nbsp;&nbsp;result = utime(filename, &amp;ub);<br>-<br>-&nbsp;&nbsp;(*env)-&gt;ReleaseStringUTFChars (env, name, filename);<br>-<br>-&nbsp;&nbsp;return result &gt;= 0;<br>-#else<br>-&nbsp;&nbsp;return 0;<br>-#endif
<br>-}<br>-<br>-JNIEXPORT jboolean JNICALL<br>-Java_java_io_VMFile_setReadOnly (JNIEnv * env,<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jobject
obj __attribute__ ((__unused__)),<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jstring
name)<br>-{<br>-&nbsp;&nbsp;const char *filename;<br>-&nbsp;&nbsp;struct stat buf;<br>-&nbsp;&nbsp;int r;<br>-<br>-&nbsp;&nbsp;filename = (*env)-&gt;GetStringUTFChars (env, name, 0);<br>-&nbsp;&nbsp;if (filename == NULL)<br>-&nbsp;&nbsp;&nbsp;&nbsp;{<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (0);<br>-&nbsp;&nbsp;&nbsp;&nbsp;}<br>-<br>
-&nbsp;&nbsp;r = KSTAT(filename, &amp;buf);<br>-<br>-&nbsp;&nbsp;if (r == 0)<br>-&nbsp;&nbsp;&nbsp;&nbsp;r = chmod(filename, buf.st_mode &amp; ~(S_IWOTH|S_IWGRP|S_IWUSR));<br>-<br>-&nbsp;&nbsp;(*env)-&gt;ReleaseStringUTFChars (env, name, filename);<br>-<br>-&nbsp;&nbsp;return (r == 0);
<br>-}<br>-<br>===================================================================<br>Checking out kaffe/libraries/clib/io/java_io_File.c<br>RCS:&nbsp;&nbsp;/home/cvs/kaffe/kaffe/libraries/clib/io/java_io_File.c,v<br>VERS: 1.1<br>***************
<br>--- /dev/null&nbsp;&nbsp; Sun Aug&nbsp;&nbsp;4 19:57:58 2002<br>+++ kaffe/libraries/clib/io/java_io_File.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mon Nov 27 21:48:21 2006<br>@@ -0,0 +1,497 @@<br>+/*<br>+ * java.io.File.c<br>+ *<br>+ * Copyright (c) 1996, 1997, 1998, 1999
<br>+ *&nbsp;&nbsp;&nbsp;&nbsp; Transvirtual Technologies, Inc.&nbsp;&nbsp;All rights reserved.<br>+ * Copyright (c) 2003, 2006<br>+ *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Kaffe's team.<br>+ * Copyright (c) 2006<br>+ *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Free Software Foundation, Inc.<br>+ *<br>+ * See the file &quot;
license.terms&quot; for information on usage and redistribution<br>+ * of this file.<br>+ */<br>+<br>+#include &quot;config.h&quot;<br>+#include &quot;config-std.h&quot;<br>+#include &quot;config-io.h&quot;<br>+#include &quot;
config-mem.h&quot;<br>+#include &lt;stdio.h&gt;<br>+#include &lt;stdlib.h&gt;<br>+#include &lt;assert.h&gt;<br>+#include &lt;native.h&gt;<br>+#include &lt;jsyscall.h&gt;<br>+#ifdef HAVE_UTIME_H<br>+#include &lt;utime.h&gt;
<br>+#endif<br>+#include &quot;defs.h&quot;<br>+#include &quot;files.h&quot;<br>+#include &quot;../../../include/system.h&quot;<br>+#include &quot;jni.h&quot;<br>+#include &quot;java_io_VMFile.h&quot;<br>+#include &quot;support.h
&quot;<br>+#include &quot;stringSupport.h&quot;<br>+<br>+/*<br>+ * Is named item a file?<br>+ */<br>+JNIEXPORT jboolean JNICALL<br>+Java_java_io_VMFile_isFile (JNIEnv * env,<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jobject obj __attribute__ ((__unused__)),<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jstring name)<br>+{<br>+&nbsp;&nbsp;const char *filename;<br>+&nbsp;&nbsp;int r;<br>+&nbsp;&nbsp;struct stat buf;<br>+<br>+&nbsp;&nbsp;filename = (*env)-&gt;GetStringUTFChars (env, name, 0);<br>+&nbsp;&nbsp;if (filename == NULL)<br>+&nbsp;&nbsp;&nbsp;&nbsp;{<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (0);<br>+&nbsp;&nbsp;&nbsp;&nbsp;}
<br>+<br>+&nbsp;&nbsp;r = KSTAT(filename, &amp;buf);<br>+&nbsp;&nbsp;(*env)-&gt;ReleaseStringUTFChars (env, name, filename);<br>+<br>+&nbsp;&nbsp;if (r == 0 &amp;&amp; S_ISREG(buf.st_mode)) {<br>+&nbsp;&nbsp;&nbsp;&nbsp;return (1);<br>+&nbsp;&nbsp;}<br>+&nbsp;&nbsp;else {<br>+&nbsp;&nbsp;&nbsp;&nbsp;return (0);
<br>+&nbsp;&nbsp;}<br>+}<br>+<br>+/*<br>+ * Is named item a directory?<br>+ */<br>+JNIEXPORT jboolean JNICALL<br>+Java_java_io_VMFile_isDirectory (JNIEnv * env,<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jobject
obj __attribute__ ((__unused__)),<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jstring
name)<br>+{<br>+&nbsp;&nbsp;const char * filename;<br>+&nbsp;&nbsp;int r;<br>+&nbsp;&nbsp;struct stat buf;<br>+<br>+&nbsp;&nbsp;filename = (*env)-&gt;GetStringUTFChars (env, name, 0);<br>+&nbsp;&nbsp;if (filename == NULL)<br>+&nbsp;&nbsp;&nbsp;&nbsp;{<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (0);<br>+&nbsp;&nbsp;&nbsp;&nbsp;}<br>+<br>
+&nbsp;&nbsp;r = KSTAT(filename, &amp;buf);<br>+&nbsp;&nbsp;(*env)-&gt;ReleaseStringUTFChars (env, name, filename);<br>+<br>+&nbsp;&nbsp;if (r == 0 &amp;&amp; S_ISDIR(buf.st_mode)) {<br>+&nbsp;&nbsp;&nbsp;&nbsp;return (1);<br>+&nbsp;&nbsp;}<br>+&nbsp;&nbsp;else {<br>+&nbsp;&nbsp;&nbsp;&nbsp;return (0);<br>+&nbsp;&nbsp;}
<br>+}<br>+<br>+/*<br>+ * Does named file exist?<br>+ */<br>+JNIEXPORT jboolean JNICALL<br>+Java_java_io_VMFile_exists (JNIEnv * env,<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jobject obj __attribute__ ((__unused__)),<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jstring name)<br>+{<br>+&nbsp;&nbsp;const char *filename;<br>+&nbsp;&nbsp;int result;<br>+&nbsp;&nbsp;struct stat buf;<br>+<br>+&nbsp;&nbsp;filename = (*env)-&gt;GetStringUTFChars (env, name, 0);<br>+&nbsp;&nbsp;if (filename == NULL)<br>+&nbsp;&nbsp;&nbsp;&nbsp;{<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (0);<br>+&nbsp;&nbsp;&nbsp;&nbsp;}
<br>+<br>+&nbsp;&nbsp;/* A file exists if I can stat it */<br>+&nbsp;&nbsp;result = KSTAT(filename, &amp;buf);<br>+&nbsp;&nbsp;(*env)-&gt;ReleaseStringUTFChars (env, name, filename);<br>+<br>+&nbsp;&nbsp;return result == 0;<br>+}<br>+<br>+/*<br>+ * Last modified time on file.
<br>+ */<br>+JNIEXPORT jlong JNICALL<br>+Java_java_io_VMFile_lastModified (JNIEnv * env,<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jobject obj __attribute__ ((__unused__)),<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jstring name)<br>+{<br>+&nbsp;&nbsp;const char *filename;<br>+&nbsp;&nbsp;struct stat buf;<br>+&nbsp;&nbsp;int r;<br>+<br>+&nbsp;&nbsp;filename = (*env)-&gt;GetStringUTFChars (env, name, 0);<br>+&nbsp;&nbsp;if (filename == NULL)<br>+&nbsp;&nbsp;&nbsp;&nbsp;{<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (0);<br>+&nbsp;&nbsp;&nbsp;&nbsp;}
<br>+<br>+<br>+&nbsp;&nbsp;r = KSTAT(filename, &amp;buf);<br>+<br>+&nbsp;&nbsp;(*env)-&gt;ReleaseStringUTFChars (env, name, filename);<br>+<br>+&nbsp;&nbsp;if (r != 0) {<br>+&nbsp;&nbsp;&nbsp;&nbsp;return ((jlong)0);<br>+&nbsp;&nbsp;}<br>+&nbsp;&nbsp;return ((jlong)buf.st_mtime * (jlong)1000);
<br>+}<br>+<br>+/*<br>+ * Can I write to this file?<br>+ */<br>+JNIEXPORT jboolean JNICALL<br>+Java_java_io_VMFile_canWrite (JNIEnv * env,<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jobject obj __attribute__ ((__unused__)),<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jstring name)<br>+{<br>+&nbsp;&nbsp;const char *filename;<br>+&nbsp;&nbsp;int r;<br>+<br>+&nbsp;&nbsp;filename = (*env)-&gt;GetStringUTFChars (env, name, 0);<br>+&nbsp;&nbsp;if (filename == NULL)<br>+&nbsp;&nbsp;&nbsp;&nbsp;{<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (0);<br>+&nbsp;&nbsp;&nbsp;&nbsp;}<br>+<br>+&nbsp;&nbsp;/* XXX make part of jsyscall interface !? */
<br>+&nbsp;&nbsp;r = access(filename, W_OK);<br>+<br>+&nbsp;&nbsp;(*env)-&gt;ReleaseStringUTFChars (env, name, filename);<br>+<br>+&nbsp;&nbsp;return (r &lt; 0 ? 0 : 1);<br>+}<br>+<br>+/*<br>+ * Can I read from this file.<br>+ */<br>+JNIEXPORT jboolean JNICALL
<br>+Java_java_io_VMFile_canRead (JNIEnv * env,<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jobject
obj __attribute__ ((__unused__)),<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jstring
name)<br>+{<br>+&nbsp;&nbsp;const char *filename;<br>+&nbsp;&nbsp;int r;<br>+<br>+&nbsp;&nbsp;filename = (*env)-&gt;GetStringUTFChars (env, name, 0);<br>+&nbsp;&nbsp;if (filename == NULL)<br>+&nbsp;&nbsp;&nbsp;&nbsp;{<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (0);<br>+&nbsp;&nbsp;&nbsp;&nbsp;}<br>+<br>+&nbsp;&nbsp;/* XXX make part of jsyscall interface !? */
<br>+&nbsp;&nbsp;r = access(filename, R_OK);<br>+<br>+&nbsp;&nbsp;(*env)-&gt;ReleaseStringUTFChars (env, name, filename);<br>+<br>+&nbsp;&nbsp;return (r &lt; 0 ? 0 : 1);<br>+}<br>+<br>+/*<br>+ * Return length of file.<br>+ */<br>+JNIEXPORT jlong JNICALL
<br>+Java_java_io_VMFile_length (JNIEnv * env,<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jobject obj __attribute__ ((__unused__)),<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jstring name)<br>+{<br>+&nbsp;&nbsp;const char *filename;<br>+&nbsp;&nbsp;struct stat buf;<br>+&nbsp;&nbsp;int r;<br>+<br>+&nbsp;&nbsp;filename = (*env)-&gt;GetStringUTFChars (env, name, 0);<br>+&nbsp;&nbsp;if (filename == NULL)<br>+&nbsp;&nbsp;&nbsp;&nbsp;{<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (0);<br>+&nbsp;&nbsp;&nbsp;&nbsp;}
<br>+<br>+&nbsp;&nbsp;r = KSTAT(filename, &amp;buf);<br>+<br>+&nbsp;&nbsp;(*env)-&gt;ReleaseStringUTFChars (env, name, filename);<br>+<br>+&nbsp;&nbsp;if (r != 0) {<br>+&nbsp;&nbsp;&nbsp;&nbsp;return ((jlong)0);<br>+&nbsp;&nbsp;}<br>+&nbsp;&nbsp;return ((jlong)buf.st_size);<br>+}<br>+<br>+/*
<br>+ * Create a directory.<br>+ */<br>+JNIEXPORT jboolean JNICALL<br>+Java_java_io_VMFile_mkdir (JNIEnv * env,<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jobject
obj __attribute__ ((__unused__)),<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jstring
name)<br>+{<br>+&nbsp;&nbsp;const char *filename;<br>+&nbsp;&nbsp;int r;<br>+<br>+&nbsp;&nbsp;filename = (*env)-&gt;GetStringUTFChars (env, name, 0);<br>+&nbsp;&nbsp;if (filename == NULL)<br>+&nbsp;&nbsp;&nbsp;&nbsp;{<br><br>*** Patch too long, truncated ***<br><br><br><br>------------------------------
<br><br>_______________________________________________<br>kaffe mailing list<br><a href="mailto:kaffe@kaffe.org">kaffe@kaffe.org</a><br><a href="http://kaffe.org/cgi-bin/mailman/listinfo/kaffe">http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
</a><br><br><br>End of kaffe Digest, Vol 30, Issue 25<br>*************************************<br></blockquote></div><br>