Mono.Helper.CanonicalizeFileName C# (CSharp) Method

CanonicalizeFileName() static private method

static private CanonicalizeFileName ( string filename, bool is_xap_mode ) : string
filename string
is_xap_mode bool
return string
		static string CanonicalizeFileName (string filename, bool is_xap_mode)
		{
			StringBuilder result = new StringBuilder (filename.Length);
			string extension;
			string dir;
			string append = null;
			string original_filename = filename;

			if (is_xap_mode) {
				extension = Path.GetExtension (filename).ToLower ();
				if (extension == ".dll" || extension == ".mdb") {
					// Note: We don't want to change the casing of the dll's
					// basename since Mono requires the basename to match the
					// expected case.

					append = Path.GetFileName (filename);
					filename = filename.Substring (0, filename.Length - append.Length);
				}
			}

			CanonicalizeName (result, filename, filename.Length);

			if (append != null)
				result.Append (append);

			return result.ToString ();
		}