public virtual int CompareTo(object o) { if (this == o) { return(0); } if (o is NGit.TreeEntry) { return(Tree.CompareNames(nameUTF8, ((NGit.TreeEntry)o).nameUTF8, LastChar(this), LastChar((NGit.TreeEntry)o))); } return(-1); }
/// <exception cref="Sharpen.UnsupportedEncodingException"></exception> private int CompareNamesUsingSpecialCompare(string a, string b) { char lasta = '\0'; byte[] abytes; if (a.Length > 0 && a[a.Length - 1] == '/') { lasta = '/'; a = Sharpen.Runtime.Substring(a, 0, a.Length - 1); } abytes = Sharpen.Runtime.GetBytesForString(a, "ISO-8859-1"); char lastb = '\0'; byte[] bbytes; if (b.Length > 0 && b[b.Length - 1] == '/') { lastb = '/'; b = Sharpen.Runtime.Substring(b, 0, b.Length - 1); } bbytes = Sharpen.Runtime.GetBytesForString(b, "ISO-8859-1"); return(Tree.CompareNames(abytes, bbytes, lasta, lastb)); }