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); } /**