Hello list,

I commited the attached patch to introduce a new method from 1.5. I
backed it up by a new mauve testcase which I will commit soon.


Cheers,
Michael


2006-03-08  Michael Koch  <[EMAIL PROTECTED]>

        * java/net/InetSocketAddress.java
        (InetSocketAddress(String,int,resolve)): New private contructor.
        (InetSocketAddress(String,int)): Use new private constructor.
        (createUnresolved): New method.

Index: java/net/InetSocketAddress.java
===================================================================
RCS file: /sources/classpath/classpath/java/net/InetSocketAddress.java,v
retrieving revision 1.12
diff -u -r1.12 InetSocketAddress.java
--- java/net/InetSocketAddress.java     14 Sep 2005 17:06:27 -0000      1.12
+++ java/net/InetSocketAddress.java     8 Mar 2006 08:05:48 -0000
@@ -1,5 +1,5 @@
 /* InetSocketAddress.java --
-   Copyright (C) 2002 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2006  Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -107,10 +107,26 @@
    * @param hostname The hostname for the socket address
    * @param port The port for the socket address
    *
-   * @exception IllegalArgumentException If the port number is illegal
+   * @exception IllegalArgumentException If the port number is illegal or
+   * the hostname argument is null
    */
   public InetSocketAddress(String hostname, int port)
-    throws IllegalArgumentException
+  {
+    this(hostname, port, true);
+  }
+
+  /**
+   * Constructs an InetSocketAddress instance.
+   *
+   * @param hostname The hostname for the socket address
+   * @param port The port for the socket address
+   * @param resolve <code>true</code> if the address has to be resolved,
+   * <code>false</code> otherwise
+   *
+   * @exception IllegalArgumentException If the port number is illegal or
+   * the hostname argument is null
+   */
+  private InetSocketAddress(String hostname, int port, boolean resolve)
   {
     if (hostname == null)
       throw new IllegalArgumentException("Null host name value");
@@ -120,15 +136,36 @@
 
     this.port = port;
     this.hostname = hostname;
+    this.addr = null;
 
-    try
-      {
-       this.addr = InetAddress.getByName(hostname);
-      }
-    catch (Exception e) // UnknownHostException, SecurityException
-      {
-       this.addr = null;
-      }
+    if (resolve)
+    {
+      try
+        {
+          this.addr = InetAddress.getByName(hostname);
+        }
+      catch (Exception e) // UnknownHostException, SecurityException
+        {
+          // Do nothing here. this.addr is already set to null.
+        }
+    }
+
+  }
+
+  /**
+   * Creates an unresolved <code>InetSocketAddress</code> object.
+   *
+   * @param hostname The hostname for the socket address
+   * @param port The port for the socket address
+   *
+   * @exception IllegalArgumentException If the port number is illegal or
+   * the hostname argument is null
+   *
+   * @since 1.5
+   */
+  public static InetSocketAddress createUnresolved(String hostname, int port)
+  {
+    return new InetSocketAddress(hostname, port, false);
   }
 
   /**

Reply via email to