Add utility for flag bytes

develop
Michael Yang 2014-01-24 23:34:21 -05:00
rodzic 1a87dd9f58
commit 60d6959198
2 zmienionych plików z 13 dodań i 5 usunięć

Wyświetl plik

@ -297,12 +297,12 @@ func ParseHeader(reader io.Reader) *Header {
switch header.version {
case 2:
header.unsynchronization = (header.flags & 1 << 7) == 1
header.compression = (header.flags & 1 << 6) == 1
header.unsynchronization = isBitSet(header.flags, 7)
header.compression = isBitSet(header.flags, 6)
case 3:
header.unsynchronization = (header.flags & 1 << 7) == 1
header.extendedHeader = (header.flags & 1 << 6) == 1
header.experimental = (header.flags & 1 << 5) == 1
header.unsynchronization = isBitSet(header.flags, 7)
header.extendedHeader = isBitSet(header.flags, 6)
header.experimental = isBitSet(header.flags, 5)
}
return header

8
v2/util.go 100644
Wyświetl plik

@ -0,0 +1,8 @@
// Copyright 2013 Michael Yang. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package v2
func isBitSet(flag, index byte) bool {
return flag&(1<<index) == 1
}