streaming

Media streaming and broadcast systems in Go
Log | Files | Refs | README | LICENSE

commit 707e234349846c8aa9f5ace53518e88033627e31
parent 93fcb65d7636c870a60f92ae20415ae33bbc6ab0
Author: Oliver Lowe <o@olowe.co>
Date:   Sat,  3 Aug 2024 21:42:59 +1000

pcap: include which packet, context in decode errors

Diffstat:
Mpcap/parser.go | 11+++++------
1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/pcap/parser.go b/pcap/parser.go @@ -50,23 +50,22 @@ func decode(reader io.Reader) (*File, error) { var header GlobalHeader if err := binary.Read(reader, binary.LittleEndian, &header); err != nil { - return nil, err + return nil, fmt.Errorf("read global header: %w", err) } var packets []Packet - for { + for i := 1; ; i++ { var header Header err := binary.Read(reader, binary.LittleEndian, &header) if err == io.EOF { break - } - if err != nil { - return nil, err + } else if err != nil { + return nil, fmt.Errorf("packet %d: read header: %w", i, err) } data := make([]byte, header.InclLen) if _, err = io.ReadFull(reader, data); err != nil { - return nil, err + return nil, fmt.Errorf("packet %d: read data: %w", i, err) } packets = append(packets, Packet{