CASA/c_micasad/lib/common/Utils.cs
2006-03-10 18:39:22 +00:00

84 lines
2.8 KiB
C#

/***********************************************************************
*
* Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; version 2.1
* of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, Novell, Inc.
*
* To contact Novell about this file by physical or electronic mail,
* you may find current contact information at www.novell.com.
*
***********************************************************************/
using System;
// using System.Collections.Generic;
using System.Text;
namespace Novell.CASA.MiCasa.Common
{
class Utils
{
public static string EscapeReservedChars(string origString)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < origString.Length; i++)
{
switch (origString[i])
{
case ':':
{
sb.Append("\\");
break;
}
case '\\':
{
sb.Append("\\");
break;
}
case '=':
{
sb.Append("\\");
break;
}
}
sb.Append(origString[i]);
}
return sb.ToString();
}
public static string UnescapeString(string sOrig)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < sOrig.Length; i++)
{
if (sOrig[i].Equals('\\'))
{
if (i + 1 < sOrig.Length)
{
if (sOrig[i + 1].Equals(':')
|| sOrig[i + 1].Equals('\\')
|| sOrig[i + 1].Equals('='))
{
i++;
}
}
}
sb.Append(sOrig[i]);
}
return sb.ToString();
}
}
}