diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 3c9d59b1f40..9a7bc27f8be 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,10 @@ +2005-02-08 Tom Tromey + + * java/net/URI.java (AUTHORITY_REGEXP): Handle case where user + name or port is missing. + (AUTHORITY_USERINFO_GROUP, AUTHORITY_HOST_GROUP, + AUTHORITY_PORT_GROUP): Updated. + 2005-02-08 Tom Tromey * configure: Rebuilt. diff --git a/libjava/java/net/URI.java b/libjava/java/net/URI.java index 4de5095bbbb..23e3e7c9e4a 100644 --- a/libjava/java/net/URI.java +++ b/libjava/java/net/URI.java @@ -65,7 +65,7 @@ public final class URI implements Comparable, Serializable "^(([^:/?#]+):)?((//([^/?#]*))?([^?#]*)(\\?([^#]*))?)?(#(.*))?"; private static final String AUTHORITY_REGEXP = - "^(([^?#]*)@([^?#]*):([^?#]*))?"; + "^((([^?#]*)@)?([^?#:]*)(:([^?#]*)))?"; /** * Valid characters (taken from rfc2396) @@ -115,9 +115,9 @@ public final class URI implements Comparable, Serializable */ private static final int FRAGMENT_GROUP = 10; - private static final int AUTHORITY_USERINFO_GROUP = 2; - private static final int AUTHORITY_HOST_GROUP = 3; - private static final int AUTHORITY_PORT_GROUP = 4; + private static final int AUTHORITY_USERINFO_GROUP = 3; + private static final int AUTHORITY_HOST_GROUP = 4; + private static final int AUTHORITY_PORT_GROUP = 6; private transient String scheme; private transient String rawSchemeSpecificPart;