static bool CheckMagicOne(Stream stream, SimpleMagicRecord rec, int offset) { stream.Position = rec.Offset + offset; string key = rec.Key; int len = rec.Length; if (len == -1) { len = key.Length; } for (int i = 0; i < len; i++) { int n = stream.ReadByte(); if (n == -1) { return(false); } if (n != key[i]) { return(false); } } if (rec.ExtraCheck != null) { stream.Position = rec.Offset + offset; return(rec.ExtraCheck(stream)); } else { return(true); } }