Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/mcs
diff options
context:
space:
mode:
authorGonzalo Paniagua Javier <gonzalo.mono@gmail.com>2005-07-01 02:18:11 +0400
committerGonzalo Paniagua Javier <gonzalo.mono@gmail.com>2005-07-01 02:18:11 +0400
commit8a9308f38581c6a5b4530cd07de61b749c94e3c4 (patch)
tree780405a03041be5dbe086bba051a8d19ee40ad38 /mcs
parente9750b6f7e8c87f6b571e147febaf4b7a60d74e6 (diff)
from head
svn path=/branches/mono-1-1-8/mcs/; revision=46798
Diffstat (limited to 'mcs')
-rw-r--r--mcs/class/System.Web/System.Web.Util/ChangeLog8
-rw-r--r--mcs/class/System.Web/System.Web.Util/StrUtils.cs76
-rw-r--r--mcs/class/System.Web/System.Web.Util/UrlUtils.cs2
3 files changed, 85 insertions, 1 deletions
diff --git a/mcs/class/System.Web/System.Web.Util/ChangeLog b/mcs/class/System.Web/System.Web.Util/ChangeLog
index e84cdbcda81..35f264d0293 100644
--- a/mcs/class/System.Web/System.Web.Util/ChangeLog
+++ b/mcs/class/System.Web/System.Web.Util/ChangeLog
@@ -1,3 +1,11 @@
+2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * UrlUtils.cs: (Combine) if the base path is "~", expand it.
+
+2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * StrUtils.cs: new string utilities.
+
2005-05-09 Ben Maurer <bmaurer@ximian.com>
* UrlUtils.cs (Reduce): a more efficient impl that avoids an
diff --git a/mcs/class/System.Web/System.Web.Util/StrUtils.cs b/mcs/class/System.Web/System.Web.Util/StrUtils.cs
new file mode 100644
index 00000000000..8232cfa7258
--- /dev/null
+++ b/mcs/class/System.Web/System.Web.Util/StrUtils.cs
@@ -0,0 +1,76 @@
+//
+// System.Web.Util.StrUtils
+//
+// Author(s):
+// Gonzalo Paniagua Javier (gonzalo@ximian.com)
+//
+// (C) 2005 Novell, Inc, (http://www.novell.com)
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Globalization;
+
+namespace System.Web.Util {
+ internal sealed class StrUtils {
+ static CultureInfo invariant = CultureInfo.InvariantCulture;
+ private StrUtils () { }
+
+ public static bool StartsWith (string str1, string str2)
+ {
+ return StartsWith (str1, str2, false);
+ }
+
+ public static bool StartsWith (string str1, string str2, bool ignore_case)
+ {
+ int l2 = str2.Length;
+ if (l2 == 0)
+ return true;
+
+ int l1 = str1.Length;
+ if (l2 > l1)
+ return false;
+
+ return (0 == String.Compare (str1, 0, str2, 0, l2, ignore_case, invariant));
+ }
+
+ public static bool EndsWith (string str1, string str2)
+ {
+ return EndsWith (str1, str2, false);
+ }
+
+ public static bool EndsWith (string str1, string str2, bool ignore_case)
+ {
+ int l2 = str2.Length;
+ if (l2 == 0)
+ return true;
+
+ int l1 = str1.Length;
+ if (l2 > l1)
+ return false;
+
+ return (0 == String.Compare (str1, l1 - l2, str2, 0, l2, ignore_case, invariant));
+ }
+ }
+}
+
diff --git a/mcs/class/System.Web/System.Web.Util/UrlUtils.cs b/mcs/class/System.Web/System.Web.Util/UrlUtils.cs
index 0b29253abfc..e297f12fc28 100644
--- a/mcs/class/System.Web/System.Web.Util/UrlUtils.cs
+++ b/mcs/class/System.Web/System.Web.Util/UrlUtils.cs
@@ -164,7 +164,7 @@ namespace System.Web.Util
return Reduce (basePath + slash + relPath);
}
- if (basePath == null || basePath == "")
+ if (basePath == null || basePath == "" || basePath [0] == '~')
basePath = HttpRuntime.AppDomainAppVirtualPath;
if (basePath.Length <= 1)