Exemple #1
0
        private void ReadKeyWords(Stream s)
        {
            keywordarea = new byte[Header.typeStringTableSize];
            s.Read(keywordarea, 0, Header.typeStringTableSize);
            MemoryStream m = new MemoryStream(keywordarea);

            m.Seek(0, 0);
            keyWordDic = new List <KeyWordDicStruct>();
            long start = m.Position;

            while (m.Position < m.Length)
            {
                long   pos     = m.Position;
                string keyword = Helpers.ReadNullString(m);
                int    hash    = Helpers.HashFNV1(keyword);
                bool   found   = false;
                foreach (KeyWordDicStruct st in keyWordDic)
                {
                    if (st.hash == hash)
                    {
                        found = true;
                        break;
                    }
                }
                if (!found)
                {
                    KeyWordDicStruct st = new KeyWordDicStruct();
                    st.keyword = keyword;
                    st.hash    = hash;
                    st.offset  = (int)(pos - start);
                    keyWordDic.Add(st);
                }
            }
        }
Exemple #2
0
 private void ReadKeyWords(Stream s)
 {
     keywordarea = new byte[Header.typeStringTableSize];
     s.Read(keywordarea, 0, Header.typeStringTableSize);
     MemoryStream m = new MemoryStream(keywordarea);
     m.Seek(0, 0);
     keyWordDic = new List<KeyWordDicStruct>();
     long start = m.Position;
     while (m.Position < m.Length)
     {
         long pos = m.Position;
         string keyword = Helpers.ReadNullString(m);
         int hash = Helpers.HashFNV1(keyword);
         bool found = false;
         foreach (KeyWordDicStruct st in keyWordDic)
             if (st.hash == hash)
             {
                 found = true;
                 break;
             }
         if (!found)
         {
             KeyWordDicStruct st = new KeyWordDicStruct();
             st.keyword = keyword;
             st.hash = hash;
             st.offset = (int)(pos - start);
             keyWordDic.Add(st);
         }
     }
 }