Exemplo n.º 1
0
        private static string ReadComment(Core.Utility.BinaryReader reader, MetadataFlags flags, ref int bytesRead)
        {
            string comment = null;

            if (flags.HasFlag(MetadataFlags.Comment))
            {
                comment = ReadNullTerminatedString(reader, ref bytesRead);
            }
            return(comment);
        }
Exemplo n.º 2
0
        private static ushort ReadCrc16(Core.Utility.BinaryReader reader, MetadataFlags flags, ref int bytesRead)
        {
            ushort crc16 = 0;

            if (flags.HasFlag(MetadataFlags.Crc16Present))
            {
                crc16      = reader.ReadUInt16();
                bytesRead += sizeof(ushort);
            }
            return(crc16);
        }
Exemplo n.º 3
0
        private static string ReadFileName(Core.Utility.BinaryReader reader, MetadataFlags flags, ref int bytesRead)
        {
            string name = null;

            if (flags.HasFlag(MetadataFlags.FileName))
            {
                name = ReadNullTerminatedString(reader, ref bytesRead);
            }
            else
            {
                name = GetDefaultEntryName(reader.BaseStream);
            }
            return(name);
        }
Exemplo n.º 4
0
        private static SubfieldId ReadExtraFields(Core.Utility.BinaryReader reader, MetadataFlags flags, ref int bytesRead)
        {
            var subfieldIdentifier = SubfieldId.None;

            if (flags.HasFlag(MetadataFlags.ExtraFieldsPresent))
            {
                subfieldIdentifier = (SubfieldId)reader.ReadUInt16();
                bytesRead         += sizeof(SubfieldId);

                var subfieldDataLength = reader.ReadUInt16();                   // little-endian
                bytesRead += sizeof(ushort);
                reader.BaseStream.Seek(subfieldDataLength, SeekOrigin.Current); // just skip
            }
            return(subfieldIdentifier);
        }