<!-- Generator: GNU source-highlight 2.4
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
<pre><tt>#
#
# add_file "packages/classpath/files/SimpleName.diff"
#  content [cfbbed49b3be9cc1944659dde6728ec191ed9aea]

# add_file "packages/classpath/files/netif_16.patch"
#  content [65f812866975ec98e775dd6add8c19c08ca527d3]

# patch "packages/classpath/classpath-minimal_0.97.1.bb"
#  from [0ef04bfd389c769d1b67f97975fcdd35f68c4855]
#    to [ff46d0cb295bca189b6ab07f6506b2e039917ae0]

# patch "packages/classpath/classpath_0.97.1.bb"
#  from [db8b170f0f6f53145caf1d439efa49971f8c4475]
#    to [924cfdaf2daafe993d70dba55a853c4eb5250f64]
#
============================================================
<font color="#FF6600">--- packages/classpath/files/SimpleName.diff        cfbbed49b3be9cc1944659dde6728ec191ed9aea</font>
<font color="#009900">+++ packages/classpath/files/SimpleName.diff        cfbbed49b3be9cc1944659dde6728ec191ed9aea</font>
<font color="#0000FF">@@ -0,0 +1,66 @@</font>
<font color="#009900">+Index: vm/reference/java/lang/VMClass.java</font>
<font color="#009900">+===================================================================</font>
<font color="#009900">+RCS file: /sources/classpath/classpath/vm/reference/java/lang/VMClass.java,v</font>
<font color="#009900">+retrieving revision 1.20</font>
<font color="#009900">+diff -u -r1.20 VMClass.java</font>
<font color="#009900">+--- vm/reference/java/lang/VMClass.java        18 Sep 2007 21:52:38 -0000        1.20</font>
<font color="#009900">++++ vm/reference/java/lang/VMClass.java        19 Apr 2008 15:19:00 -0000</font>
<font color="#009900">+@@ -296,27 +296,43 @@</font>
<font color="#009900">+    */</font>
<font color="#009900">+   static String getSimpleName(Class klass)</font>
<font color="#009900">+   {</font>
<font color="#009900">++    int arrayCount = 0;</font>
<font color="#009900">++    while (klass.isArray())</font>
<font color="#009900">++      {</font>
<font color="#009900">++        klass = klass.getComponentType();</font>
<font color="#009900">++        ++arrayCount;</font>
<font color="#009900">++      }</font>
<font color="#009900">++    // now klass is the component type</font>
<font color="#009900">++    </font>
<font color="#009900">++    String simpleComponentName = null;</font>
<font color="#009900">+     if (isAnonymousClass(klass))</font>
<font color="#009900">+-      return "";</font>
<font color="#009900">+-    if (isArray(klass))</font>
<font color="#009900">+       {</font>
<font color="#009900">+-        return getComponentType(klass).getSimpleName() + "[]";</font>
<font color="#009900">++        simpleComponentName = "";</font>
<font color="#009900">+       }</font>
<font color="#009900">+-    String fullName = getName(klass);</font>
<font color="#009900">+-    int pos = fullName.lastIndexOf("$");</font>
<font color="#009900">+-    if (pos == -1)</font>
<font color="#009900">+-      pos = 0;</font>
<font color="#009900">+     else</font>
<font color="#009900">+       {</font>
<font color="#009900">+-        ++pos;</font>
<font color="#009900">+-        while (Character.isDigit(fullName.charAt(pos)))</font>
<font color="#009900">+-          ++pos;</font>
<font color="#009900">++        String fullName = getName(klass);</font>
<font color="#009900">++        int pos = fullName.lastIndexOf("$");</font>
<font color="#009900">++        if (pos != -1) </font>
<font color="#009900">++          { //inner class or local class</font>
<font color="#009900">++            // skip digits of local classes</font>
<font color="#009900">++            while (Character.isDigit(fullName.charAt(pos+1)))</font>
<font color="#009900">++              pos++;</font>
<font color="#009900">++          } </font>
<font color="#009900">++        else </font>
<font color="#009900">++          {</font>
<font color="#009900">++            pos = fullName.lastIndexOf(".");</font>
<font color="#009900">++          }</font>
<font color="#009900">++        simpleComponentName = fullName.substring(pos+1);</font>
<font color="#009900">+       }</font>
<font color="#009900">+-    int packagePos = fullName.lastIndexOf(".", pos);</font>
<font color="#009900">+-    if (packagePos == -1)</font>
<font color="#009900">+-      return fullName.substring(pos);</font>
<font color="#009900">+-    else</font>
<font color="#009900">+-      return fullName.substring(packagePos + 1);</font>
<font color="#009900">++    </font>
<font color="#009900">++    if (arrayCount == 0)</font>
<font color="#009900">++      return simpleComponentName;</font>
<font color="#009900">++    </font>
<font color="#009900">++    StringBuffer sb = new StringBuffer(simpleComponentName);</font>
<font color="#009900">++    while (arrayCount-- &gt; 0)</font>
<font color="#009900">++      sb.append("[]");</font>
<font color="#009900">++    return sb.toString();        </font>
<font color="#009900">+   }</font>
<font color="#009900">+ </font>
<font color="#009900">+   /**</font>
============================================================
<font color="#FF6600">--- packages/classpath/files/netif_16.patch        65f812866975ec98e775dd6add8c19c08ca527d3</font>
<font color="#009900">+++ packages/classpath/files/netif_16.patch        65f812866975ec98e775dd6add8c19c08ca527d3</font>
<font color="#0000FF">@@ -0,0 +1,263 @@</font>
<font color="#009900">+Index: java/net/NetworkInterface.java</font>
<font color="#009900">+===================================================================</font>
<font color="#009900">+RCS file: /sources/classpath/classpath/java/net/NetworkInterface.java,v</font>
<font color="#009900">+retrieving revision 1.23</font>
<font color="#009900">+diff -u -r1.23 NetworkInterface.java</font>
<font color="#009900">+--- java/net/NetworkInterface.java        18 Dec 2006 21:37:39 -0000        1.23</font>
<font color="#009900">++++ java/net/NetworkInterface.java        21 Apr 2008 10:38:25 -0000</font>
<font color="#009900">+@@ -1,5 +1,5 @@</font>
<font color="#009900">+ /* NetworkInterface.java --</font>
<font color="#009900">+-   Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.</font>
<font color="#009900">++   Copyright (C) 2002, 2003, 2004, 2005, 2006, 2008 Free Software Foundation, Inc.</font>
<font color="#009900">+ </font>
<font color="#009900">+ This file is part of GNU Classpath.</font>
<font color="#009900">+ </font>
<font color="#009900">+@@ -265,4 +265,50 @@</font>
<font color="#009900">+ </font>
<font color="#009900">+     return result.toString();</font>
<font color="#009900">+   }</font>
<font color="#009900">++</font>
<font color="#009900">++  /**</font>
<font color="#009900">++   * Determines whether this interface is ready to transfer data.</font>
<font color="#009900">++   *</font>
<font color="#009900">++   * @return whether the interface is up</font>
<font color="#009900">++  */</font>
<font color="#009900">++  public boolean isUp()</font>
<font color="#009900">++    throws SocketException</font>
<font color="#009900">++  {</font>
<font color="#009900">++    return VMNetworkInterface.isUp(netif.name);</font>
<font color="#009900">++  }</font>
<font color="#009900">++</font>
<font color="#009900">++  /**</font>
<font color="#009900">++   * Determines whether this interface does point to point</font>
<font color="#009900">++   * transmission.</font>
<font color="#009900">++   *</font>
<font color="#009900">++   * @return whether the interface does point to point transmission</font>
<font color="#009900">++  */</font>
<font color="#009900">++  public boolean isPointToPoint()</font>
<font color="#009900">++    throws SocketException</font>
<font color="#009900">++  {</font>
<font color="#009900">++    return VMNetworkInterface.isPointToPoint(netif.name);</font>
<font color="#009900">++  }</font>
<font color="#009900">++</font>
<font color="#009900">++  /**</font>
<font color="#009900">++   * Determines whether this interface is the loopback interface.</font>
<font color="#009900">++   *</font>
<font color="#009900">++   * @return whether the interface is the loopback interface</font>
<font color="#009900">++  */</font>
<font color="#009900">++  public boolean isLoopback()</font>
<font color="#009900">++    throws SocketException</font>
<font color="#009900">++  {</font>
<font color="#009900">++    return VMNetworkInterface.isLoopback(netif.name);</font>
<font color="#009900">++  }</font>
<font color="#009900">++</font>
<font color="#009900">++  /**</font>
<font color="#009900">++   * Determines whether this interface supports multicast transmission.</font>
<font color="#009900">++   *</font>
<font color="#009900">++   * @return whether the interface supports multicast transmission.</font>
<font color="#009900">++  */</font>
<font color="#009900">++  public boolean supportsMulticast()</font>
<font color="#009900">++    throws SocketException</font>
<font color="#009900">++  {</font>
<font color="#009900">++    return VMNetworkInterface.supportsMulticast(netif.name);</font>
<font color="#009900">++  }</font>
<font color="#009900">++</font>
<font color="#009900">+ }</font>
<font color="#009900">+Index: vm/reference/java/net/VMNetworkInterface.java</font>
<font color="#009900">+===================================================================</font>
<font color="#009900">+RCS file: /sources/classpath/classpath/vm/reference/java/net/VMNetworkInterface.java,v</font>
<font color="#009900">+retrieving revision 1.7</font>
<font color="#009900">+diff -u -r1.7 VMNetworkInterface.java</font>
<font color="#009900">+--- vm/reference/java/net/VMNetworkInterface.java        18 Dec 2006 21:37:39 -0000        1.7</font>
<font color="#009900">++++ vm/reference/java/net/VMNetworkInterface.java        21 Apr 2008 10:38:25 -0000</font>
<font color="#009900">+@@ -1,5 +1,5 @@</font>
<font color="#009900">+ /* VMNetworkInterface.java --</font>
<font color="#009900">+-   Copyright (C) 2005  Free Software Foundation, Inc.</font>
<font color="#009900">++   Copyright (C) 2005, 2008  Free Software Foundation, Inc.</font>
<font color="#009900">+ </font>
<font color="#009900">+ This file is part of GNU Classpath.</font>
<font color="#009900">+ </font>
<font color="#009900">+@@ -119,4 +119,13 @@</font>
<font color="#009900">+     else</font>
<font color="#009900">+       throw new SocketException("invalid interface address");</font>
<font color="#009900">+   }</font>
<font color="#009900">++</font>
<font color="#009900">++  static native boolean isUp(String name) throws SocketException;</font>
<font color="#009900">++</font>
<font color="#009900">++  static native boolean isLoopback(String name) throws SocketException;</font>
<font color="#009900">++</font>
<font color="#009900">++  static native boolean isPointToPoint(String name) throws SocketException;</font>
<font color="#009900">++</font>
<font color="#009900">++  static native boolean supportsMulticast(String name) throws SocketException;</font>
<font color="#009900">++</font>
<font color="#009900">+ }</font>
<font color="#009900">+Index: native/jni/java-net/java_net_VMNetworkInterface.c</font>
<font color="#009900">+===================================================================</font>
<font color="#009900">+RCS file: /sources/classpath/classpath/native/jni/java-net/java_net_VMNetworkInterface.c,v</font>
<font color="#009900">+retrieving revision 1.6</font>
<font color="#009900">+diff -u -r1.6 java_net_VMNetworkInterface.c</font>
<font color="#009900">+--- native/jni/java-net/java_net_VMNetworkInterface.c        5 Apr 2007 12:34:19 -0000        1.6</font>
<font color="#009900">++++ native/jni/java-net/java_net_VMNetworkInterface.c        21 Apr 2008 10:38:25 -0000</font>
<font color="#009900">+@@ -1,5 +1,5 @@</font>
<font color="#009900">+ /* VMNetworkInterface.c - Native methods for NetworkInterface class</font>
<font color="#009900">+-   Copyright (C) 2003, 2005, 2006  Free Software Foundation, Inc.</font>
<font color="#009900">++   Copyright (C) 2003, 2005, 2006, 2008 Free Software Foundation, Inc.</font>
<font color="#009900">+ </font>
<font color="#009900">+ This file is part of GNU Classpath.</font>
<font color="#009900">+ </font>
<font color="#009900">+@@ -50,11 +50,18 @@</font>
<font color="#009900">+ #include &lt;stdio.h&gt;</font>
<font color="#009900">+ #include &lt;string.h&gt;</font>
<font color="#009900">+ </font>
<font color="#009900">++#include &lt;net/if.h&gt;</font>
<font color="#009900">++#include &lt;sys/ioctl.h&gt;</font>
<font color="#009900">++</font>
<font color="#009900">+ #include &lt;jni.h&gt;</font>
<font color="#009900">+ #include &lt;jcl.h&gt;</font>
<font color="#009900">+ </font>
<font color="#009900">++#include &lt;cpnative.h&gt;</font>
<font color="#009900">++#include &lt;cpnet.h&gt;</font>
<font color="#009900">++</font>
<font color="#009900">+ #include "java_net_VMNetworkInterface.h"</font>
<font color="#009900">+ </font>
<font color="#009900">++int iff_flags(JNIEnv *, jstring, jint *);</font>
<font color="#009900">+ </font>
<font color="#009900">+ static jmethodID java_net_VMNetworkInterface_init;</font>
<font color="#009900">+ static jmethodID java_net_VMNetworkInterface_addAddress;</font>
<font color="#009900">+@@ -251,4 +258,136 @@</font>
<font color="#009900">+ #endif /* HAVE_IFADDRS_H &amp;&amp; HAVE_GETIFADDRS */</font>
<font color="#009900">+ }</font>
<font color="#009900">+ </font>
<font color="#009900">++int iff_flags(JNIEnv *env, jstring name, jint *flags)</font>
<font color="#009900">++{</font>
<font color="#009900">++  struct ifreq iff;</font>
<font color="#009900">++  const char *iff_name;</font>
<font color="#009900">++  jint socket;</font>
<font color="#009900">++  int error, retval;</font>
<font color="#009900">++</font>
<font color="#009900">++  if ((error = cpnet_openSocketDatagram(env, &amp;socket, AF_INET)))</font>
<font color="#009900">++  {</font>
<font color="#009900">++    return error;</font>
<font color="#009900">++  }</font>
<font color="#009900">++</font>
<font color="#009900">++  iff_name = JCL_jstring_to_cstring(env, name);</font>
<font color="#009900">++  memset(&amp;iff, 0, sizeof(iff));</font>
<font color="#009900">++  strcpy(iff.ifr_name, iff_name);</font>
<font color="#009900">++ </font>
<font color="#009900">++  if (ioctl(socket, SIOCGIFFLAGS, &amp;iff) &gt;= 0)</font>
<font color="#009900">++  {</font>
<font color="#009900">++    *flags = (jint) iff.ifr_flags;</font>
<font color="#009900">++</font>
<font color="#009900">++    retval = 0;</font>
<font color="#009900">++  }</font>
<font color="#009900">++  else</font>
<font color="#009900">++  {</font>
<font color="#009900">++    retval = errno;</font>
<font color="#009900">++  }</font>
<font color="#009900">++</font>
<font color="#009900">++  cpnet_close(env, socket);</font>
<font color="#009900">++</font>
<font color="#009900">++  JCL_free_cstring(env, name, iff_name);</font>
<font color="#009900">++</font>
<font color="#009900">++  return retval;</font>
<font color="#009900">++}</font>
<font color="#009900">++</font>
<font color="#009900">++JNIEXPORT jboolean JNICALL</font>
<font color="#009900">++Java_java_net_VMNetworkInterface_isUp (JNIEnv *env, jclass class UNUSED,</font>
<font color="#009900">++                                       jstring name)</font>
<font color="#009900">++{</font>
<font color="#009900">++  jint flags;</font>
<font color="#009900">++  int error;</font>
<font color="#009900">++  jboolean retval;</font>
<font color="#009900">++</font>
<font color="#009900">++  if ((error = iff_flags(env, name, &amp;flags)))</font>
<font color="#009900">++  {</font>
<font color="#009900">++    JCL_ThrowException(env, "java/net/SocketException",</font>
<font color="#009900">++                       cpnative_getErrorString(error));</font>
<font color="#009900">++</font>
<font color="#009900">++    retval = JNI_FALSE;</font>
<font color="#009900">++  }</font>
<font color="#009900">++  else</font>
<font color="#009900">++  {</font>
<font color="#009900">++    retval = (flags &amp; (IFF_UP | IFF_RUNNING))</font>
<font color="#009900">++             ? JNI_TRUE</font>
<font color="#009900">++             : JNI_FALSE;</font>
<font color="#009900">++  }</font>
<font color="#009900">++</font>
<font color="#009900">++  return retval;</font>
<font color="#009900">++}</font>
<font color="#009900">++</font>
<font color="#009900">++JNIEXPORT jboolean JNICALL</font>
<font color="#009900">++Java_java_net_VMNetworkInterface_isPointToPoint (JNIEnv *env,</font>
<font color="#009900">++                                                 jclass class UNUSED,</font>
<font color="#009900">++                                                 jstring name)</font>
<font color="#009900">++{</font>
<font color="#009900">++  jint flags;</font>
<font color="#009900">++  int error;</font>
<font color="#009900">++  jboolean retval;</font>
<font color="#009900">++</font>
<font color="#009900">++  if ((error = iff_flags(env, name, &amp;flags)))</font>
<font color="#009900">++  {</font>
<font color="#009900">++    JCL_ThrowException(env, "java/net/SocketException",</font>
<font color="#009900">++                       cpnative_getErrorString(error));</font>
<font color="#009900">++</font>
<font color="#009900">++    retval = JNI_FALSE;</font>
<font color="#009900">++  }</font>
<font color="#009900">++  else</font>
<font color="#009900">++  {</font>
<font color="#009900">++    retval = (flags &amp; IFF_POINTOPOINT) ? JNI_TRUE</font>
<font color="#009900">++                                       : JNI_FALSE;</font>
<font color="#009900">++  }</font>
<font color="#009900">++</font>
<font color="#009900">++  return retval;</font>
<font color="#009900">++}</font>
<font color="#009900">++</font>
<font color="#009900">++JNIEXPORT jboolean JNICALL</font>
<font color="#009900">++Java_java_net_VMNetworkInterface_isLoopback (JNIEnv *env,</font>
<font color="#009900">++                                             jclass class UNUSED,</font>
<font color="#009900">++                                             jstring name)</font>
<font color="#009900">++{</font>
<font color="#009900">++  jint flags;</font>
<font color="#009900">++  int error;</font>
<font color="#009900">++  jboolean retval;</font>
<font color="#009900">++</font>
<font color="#009900">++  if ((error = iff_flags(env, name, &amp;flags)))</font>
<font color="#009900">++  {</font>
<font color="#009900">++    JCL_ThrowException(env, "java/net/SocketException",</font>
<font color="#009900">++                       cpnative_getErrorString(error));</font>
<font color="#009900">++</font>
<font color="#009900">++    retval = JNI_FALSE;</font>
<font color="#009900">++  }</font>
<font color="#009900">++  else</font>
<font color="#009900">++  {</font>
<font color="#009900">++    retval = (flags &amp; IFF_LOOPBACK) ? JNI_TRUE : JNI_FALSE;</font>
<font color="#009900">++  }</font>
<font color="#009900">++</font>
<font color="#009900">++  return retval;</font>
<font color="#009900">++}</font>
<font color="#009900">++</font>
<font color="#009900">++JNIEXPORT jboolean JNICALL</font>
<font color="#009900">++Java_java_net_VMNetworkInterface_supportsMulticast (JNIEnv *env,</font>
<font color="#009900">++                                                    jclass class UNUSED,</font>
<font color="#009900">++                                                    jstring name)</font>
<font color="#009900">++{</font>
<font color="#009900">++  jint flags;</font>
<font color="#009900">++  int error;</font>
<font color="#009900">++  jboolean retval;</font>
<font color="#009900">++</font>
<font color="#009900">++  if ((error = iff_flags(env, name, &amp;flags)))</font>
<font color="#009900">++  {</font>
<font color="#009900">++    JCL_ThrowException(env, "java/net/SocketException",</font>
<font color="#009900">++                       cpnative_getErrorString(error));</font>
<font color="#009900">++</font>
<font color="#009900">++    retval = JNI_FALSE;</font>
<font color="#009900">++  }</font>
<font color="#009900">++  else</font>
<font color="#009900">++  {</font>
<font color="#009900">++    retval = (flags &amp; IFF_MULTICAST) ? JNI_TRUE : JNI_FALSE;</font>
<font color="#009900">++  }</font>
<font color="#009900">++</font>
<font color="#009900">++  return retval;</font>
<font color="#009900">++}</font>
<font color="#009900">++</font>
<font color="#009900">+ /* end of file */</font>
============================================================
<font color="#FF6600">--- packages/classpath/classpath-minimal_0.97.1.bb        0ef04bfd389c769d1b67f97975fcdd35f68c4855</font>
<font color="#009900">+++ packages/classpath/classpath-minimal_0.97.1.bb        ff46d0cb295bca189b6ab07f6506b2e039917ae0</font>
<font color="#0000FF">@@ -1,7 +1,12 @@ require classpath.inc</font>
 require classpath.inc
 
<font color="#FF6600">-PR = "r0"</font>
<font color="#009900">+SRC_URI += "\</font>
<font color="#009900">+  file://netif_16.patch;patch=1;pnum=0 \</font>
<font color="#009900">+  file://SimpleName.diff;patch=1;pnum=0 \</font>
<font color="#009900">+  "</font>
 
<font color="#009900">+PR = "r1"</font>
<font color="#009900">+</font>
 PROVIDES = "${PN} classpath"
 
 EXTRA_OECONF += "\
============================================================
<font color="#FF6600">--- packages/classpath/classpath_0.97.1.bb        db8b170f0f6f53145caf1d439efa49971f8c4475</font>
<font color="#009900">+++ packages/classpath/classpath_0.97.1.bb        924cfdaf2daafe993d70dba55a853c4eb5250f64</font>
<font color="#0000FF">@@ -1,7 +1,12 @@ require classpath.inc</font>
 require classpath.inc
 
<font color="#FF6600">-PR = "r0"</font>
<font color="#009900">+SRC_URI += "\</font>
<font color="#009900">+  file://netif_16.patch;patch=1;pnum=0 \</font>
<font color="#009900">+  file://SimpleName.diff;patch=1;pnum=0 \</font>
<font color="#009900">+  "</font>
 
<font color="#009900">+PR = "r1"</font>
<font color="#009900">+</font>
 DEPENDS += "gtk+ gconf libxtst"
 
 EXTRA_OECONF += "\
<font color="#0000FF">@@ -15,4 +20,3 @@ EXTRA_OECONF += "\</font>
                 --with-vm=java \
                "
 
<font color="#FF6600">-</font>
</tt></pre>