From 661a91eca8edc1eb8d2516f867db70a441df2bcf Mon Sep 17 00:00:00 2001
From: tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Wed, 9 Feb 2005 02:56:03 +0000
Subject: [PATCH] 	* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94760 138bc75d-0d04-0410-961f-82ee72b054a4
---
 libjava/ChangeLog         | 7 +++++++
 libjava/java/net/URI.java | 8 ++++----
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 3c9d59b1f402..9a7bc27f8be1 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,10 @@
+2005-02-08  Tom Tromey  <tromey@redhat.com>
+
+	* 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  <tromey@redhat.com>
 
 	* configure: Rebuilt.
diff --git a/libjava/java/net/URI.java b/libjava/java/net/URI.java
index 4de5095bbbbb..23e3e7c9e4a2 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;
-- 
GitLab