OpenHome.Git.Tree.Resolve C# (CSharp) Method

Resolve() private method

private Resolve ( ) : void
return void
        void Resolve()
        {
            if (iItems == null)
            {
                iItems = new List<ITreeEntry>();

                int offset = 0;

                byte[] bytes = iReference.Contents;

                try
                {
                    while (offset < bytes.Length)
                    {
                        int begin = offset;

                        while (bytes[offset++] != 0) ;

                        int length = offset - begin - 1;

                        byte[] item = new byte[length];

                        Array.Copy(bytes, begin, item, 0, length);

                        string id = Hash.String(bytes, offset);

                        iItems.Add(new TreeItem(iReference.Repository, id, item));

                        offset += 20;
                    }
                }
                catch (IndexOutOfRangeException)
                {
                    throw (new GitException("Tree " + Id + " corrupt"));
                }
            }
        }

Same methods

Tree::Resolve ( IObjectResolver aHandler ) : void