Return list of (attr_type, attr_bytes) pairs.
(data, offset=20)
| 187 | # --------------------------------------------------------------------------- |
| 188 | |
| 189 | def _parse_attrs(data, offset=20): |
| 190 | """Return list of (attr_type, attr_bytes) pairs.""" |
| 191 | result = [] |
| 192 | while offset + 4 <= len(data): |
| 193 | attr_type, attr_len = struct.unpack_from('!HH', data, offset) |
| 194 | offset += 4 |
| 195 | if offset + attr_len > len(data): |
| 196 | break |
| 197 | result.append((attr_type, data[offset:offset + attr_len])) |
| 198 | offset += attr_len + (4 - attr_len % 4) % 4 |
| 199 | return result |
| 200 | |
| 201 | def _get_attr(attrs, attr_type): |
| 202 | for t, v in attrs: |
no test coverage detected