From d0259e11e7c68f2dbc212e5a31efc2a02dd79add Mon Sep 17 00:00:00 2001
From: David Daney <ddaney@avtrex.com>
Date: Thu, 23 Sep 2004 00:34:09 +0000
Subject: [PATCH] re PR libgcj/17623 (URL does not retain userInfo across
 context constructor.)

	PR libgcj/17623
	* java/net/URL.java (URL): Copy userInfo from context.
	(getUserInfo): Return cached userInfo if present.

From-SVN: r87909
---
 libjava/ChangeLog         | 6 ++++++
 libjava/java/net/URL.java | 7 ++++++-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 9e7922812cc3..28cfdccb18e7 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,9 @@
+2004-09-22  David Daney  <ddaney@avtrex.com>
+
+	PR libgcj/17623
+	* java/net/URL.java (URL): Copy userInfo from context.
+	(getUserInfo): Return cached userInfo if present.
+
 2004-09-22  Tom Tromey  <tromey@redhat.com>
 
 	PR libgcj/6182:
diff --git a/libjava/java/net/URL.java b/libjava/java/net/URL.java
index 7357c7529b8e..37ddc0f6cd4d 100644
--- a/libjava/java/net/URL.java
+++ b/libjava/java/net/URL.java
@@ -1,5 +1,6 @@
 /* URL.java -- Uniform Resource Locator Class
-   Copyright (C) 1998, 1999, 2000, 2002, 2003  Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004
+   Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -401,6 +402,7 @@ public final class URL implements Serializable
 	    host = context.host;
 	    port = context.port;
 	    file = context.file;
+            userInfo = context.userInfo;
 	    if (file == null || file.length() == 0)
 	      file = "/";
 	    authority = context.authority;
@@ -415,6 +417,7 @@ public final class URL implements Serializable
 	host = context.host;
 	port = context.port;
 	file = context.file;
+        userInfo = context.userInfo;
 	if (file == null || file.length() == 0)
 	  file = "/";
 	authority = context.authority;
@@ -612,6 +615,8 @@ public final class URL implements Serializable
    */
   public String getUserInfo()
   {
+    if (userInfo != null)
+      return userInfo;
     int at = (host == null) ? -1 : host.indexOf('@');
     return at < 0 ? null : host.substring(0, at);
   }
-- 
GitLab