diff options
author | Gonzalo Paniagua Javier <gonzalo.mono@gmail.com> | 2005-07-01 02:18:11 +0400 |
---|---|---|
committer | Gonzalo Paniagua Javier <gonzalo.mono@gmail.com> | 2005-07-01 02:18:11 +0400 |
commit | 8a9308f38581c6a5b4530cd07de61b749c94e3c4 (patch) | |
tree | 780405a03041be5dbe086bba051a8d19ee40ad38 /mcs | |
parent | e9750b6f7e8c87f6b571e147febaf4b7a60d74e6 (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/ChangeLog | 8 | ||||
-rw-r--r-- | mcs/class/System.Web/System.Web.Util/StrUtils.cs | 76 | ||||
-rw-r--r-- | mcs/class/System.Web/System.Web.Util/UrlUtils.cs | 2 |
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) |