+// Write implements io.Writer interface for FilePath
+func (fp *FilePath) Write(b []byte) (n int, err error) {
+ reader := bytes.NewReader(b)
+ err = binary.Read(reader, binary.BigEndian, &fp.ItemCount)
+ if err != nil && !errors.Is(err, io.EOF) {
+ return n, err
+ }
+ if errors.Is(err, io.EOF) {
+ return n, nil
+ }
+
+ scanner := bufio.NewScanner(reader)
+ scanner.Split(fileItemScanner)
+
+ for i := 0; i < int(binary.BigEndian.Uint16(fp.ItemCount[:])); i++ {
+ var fpi FilePathItem
+ scanner.Scan()